Skip to content

merge#7

Merged
Snider merged 10 commits into
devfrom
main
May 13, 2026
Merged

merge#7
Snider merged 10 commits into
devfrom
main

Conversation

@Snider
Copy link
Copy Markdown
Contributor

@Snider Snider commented May 13, 2026

No description provided.

Snider and others added 10 commits April 7, 2026 11:32
…rity hardening

Consolidates the v0.8.0-alpha.1 release work for core/api. Module path
migration, new SDK-codegen interfaces, and significant security
hardening across the request boundary.

* Module path migration: forge.lthn.ai/core/api -> dappco.re/go/api.
  All sibling dappco.re/go/* deps pinned to v0.8.0-alpha.1; PHP-side
  dedoc/scramble bumped ^0.12 -> ^0.13.

* SDK codegen surface (Go side):
    - Describable interface — providers expose human-readable metadata
    - Renderable interface — renderers expose templates and hints
    - StreamGroup interface — SSE endpoints declare event shapes
    - Cache-Control hints integrate with RouteGroup
    - IsValidMCPServerID validates server identifiers at the boundary

* Security hardening:
    - SSRF guard at the doHTTPClientRequest choke point with allow-list
      and unit + integration coverage
    - PackageName hardened against flag-injection (G204 false-positive
      annotated)
    - schemaInt bound-checks uint/uint64 -> int coercion (G115)
    - newChatCompletionID G404 false-positive annotated
    - outbound request cookie path G124 false-positive annotated
    - API key auth lookup failure path hardened
    - .gitleaksignore added for one documented false-positive

* PHP test infrastructure:
    - Pest testbench bootstrap signature corrected
    - Stable core module release pinned

* AX-10 scaffold: tests/cli/api/ Taskfile drivers cover the CLI surface.

* Repo hygiene:
    - removed previously-tracked .DS_Store under src/php/src/Website
    - dropped empty .core/TODO.md

Refs: RFC-CORE-008-AGENT-EXPERIENCE.md (AX-1, AX-6, AX-10)

Co-authored-by: Athena <athena@lthn.ai>
Co-authored-by: Cerberus <cerberus@lthn.ai>
Co-authored-by: Hephaestus <hephaestus@lthn.ai>
Co-authored-by: Cladius Maximus <cladius@lthn.ai>
…close Mantis #931

Both workspace and user resolution returning null fell through to an unscoped SupportTicket::find($id), allowing any actor whose request context fails to resolve to read or reply to ANY ticket by ID enumeration (CWE-639 IDOR, REACHABLE-CRITICAL per Cerberus DREAD).

Fix per Cerberus's recommendation:
- Throw AuthorizationException (not silent null) when both contexts null
- Log fail-open attempts with actor IP for ops alerting
- Keep existing scoped-lookup logic intact when context resolves

Test triad:
- AnonymousAccess_Bad — anonymous request returns 401, not a ticket
- FailOpenAttempt_Ugly — log.warning fires with actor_ip + ticket_id
- AuthenticatedUser_Good — legitimate access still succeeds

Filer: CodeRabbit (PR #3 dAppCore/api)
DREAD review: Cerberus (Mantis #931 verdict REACHABLE-CRITICAL)

Co-Authored-By: CodeRabbit <noreply@coderabbit.ai>
Co-Authored-By: Cerberus <cerberus@lthn.ai>
Co-Authored-By: Athena <athena@lthn.ai>
Co-Authored-By: Virgil <virgil@lethean.io>
…pace

The Go SDK codegen config still pointed at the pre-migration
github.com/dappcore/core-go module path. CodeRabbit (PR #3, Mantis
#932) flagged it as the only sdk-config/* yaml that wasn't updated
during the workspace-wide module rename to dappco.re/go.

Pattern matches the api repo's own go.mod (`module dappco.re/go/api`)
and the Java/TypeScript SDK configs that already use the
dappco.re/re.dappco namespaces. SDK consumers will get a Go module
declaration that resolves under the canonical dappco.re proxy.

Closes Mantis #932 on PR #3 dAppCore/api.

Co-authored-by: Cerberus <cerberus@lthn.ai>
Co-authored-by: Hephaestus <hephaestus@lthn.ai>
chore(dev→main): routine PR cadence for CodeRabbit review
v0.9.0 compliance: full upgrade against core/go reference
chore: promote dev to main — api v0.13.0 (Mantis #1217, audit COMPLIANT)
fix(deps): refresh gin-contrib/httpsign@v1.0.3 go.sum hashes to
the proxy's current bytes. Unblocks lthn/desktop CI bindings step.
Main moved forward independently while the release branch sat
since the v0.8.0-alpha.1 cut. Main carries the canonical:
  - flat namespace `dappco.re/go` (release used `dappco.re/go/core`)
  - reorganised `go/`, `go/pkg/provider/`, `php/` paths
                (release was still on `./`, `pkg/provider/`, `src/php/`)
  - own SSRF guard + Mantis #931 IDOR fix at higher coverage
  - sonar BLOCKER clears (#1287) + CI infra (#1217)
  - service.go consolidation (#1336)

Conflict resolution policy: accept main's version where main's
work is at-or-ahead of release's parallel implementation
(security hardening, namespace, directory layout). Accept the
deletions main made (proxy.go etc — moved/refactored). Release's
genuinely-new test files moved to their canonical post-reorg
paths.

28 conflicts resolved:
  4 modify/delete (release's mods to files main deleted) → accept delete
  4 add/add        (same path, different content) → main's namespace
  1 add unresolved (path rename) → file added at new path
 19 both modified  (mostly namespace + dir migration) → main's version
release: v0.8.0-alpha.1 — module migration, SDK-codegen surface, security hardening
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 13, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 25b953d5-3c97-44fd-8c6a-20ddb800e32e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands and usage tips.

@Snider Snider merged commit 7ff2b4f into dev May 13, 2026
2 of 6 checks passed
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
62.7% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant