Skip to content

feat(arch): add role field to hexagonal baseline + arch-report#119

Merged
matdev83 merged 1 commit into
mainfrom
pr3/arch-baseline-role-observability
Jul 8, 2026
Merged

feat(arch): add role field to hexagonal baseline + arch-report#119
matdev83 merged 1 commit into
mainfrom
pr3/arch-baseline-role-observability

Conversation

@matdev83

@matdev83 matdev83 commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Surfaces a package role in the hexagonal migration baseline so the composition-root allowance for internal/infra/runtimebundle is explicit and machine-checked rather than only described in justification text.

What changed

  • testdata/architecture/hexagonal_migration_baseline.json: add "role": "composition_root" to the runtimebundle entry.
  • internal/archtest/hexagonal_migration_baseline_test.go: parse and validate the new role field (allowed values: empty or composition_root); composition_root requires classification aligned.
  • scripts/arch-report.go: include a Role column in the baseline classifications Markdown table (renders - when empty).

Verification (PR scoped, in isolation)

  • go test -run TestHexagonalMigrationBaseline ./internal/archtest/... — passes (all subpackages).
  • go vet ./internal/archtest/... ./scripts/... — clean.
  • go run ./scripts/arch-report.go — produces deterministic output with the new Role column (composition_root for runtimebundle, - elsewhere).

No behavior change; advisory observability only.

Third of the PRs splitting the post-review cleanup changes on the local working tree.

Surface a package `role` in the hexagonal migration baseline so the
composition-root allowance for internal/infra/runtimebundle is explicit
and machine-checked rather than only described in justification text.

- testdata/architecture/hexagonal_migration_baseline.json: add
  `"role": "composition_root"` to the runtimebundle entry.
- internal/archtest/hexagonal_migration_baseline_test.go: parse and
  validate the new `role` field (allowed values: empty or
  "composition_root"); "composition_root" requires classification
  "aligned".
- scripts/arch-report.go: include the `role` column in the baseline
  classifications Markdown table (renders "-" when empty).

No behavior change; advisory observability only.

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@matdev83, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 33 seconds

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 08152573-61ca-4368-8d38-85ba613deddf

📥 Commits

Reviewing files that changed from the base of the PR and between 69941c1 and f30b8a4.

📒 Files selected for processing (3)
  • internal/archtest/hexagonal_migration_baseline_test.go
  • scripts/arch-report.go
  • testdata/architecture/hexagonal_migration_baseline.json

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@matdev83 matdev83 merged commit a26f76d into main Jul 8, 2026
2 checks passed
matdev83 pushed a commit that referenced this pull request Jul 8, 2026
…rdrails, EchoesVault

Documentation closure for the go-llm-interactive-proxy architecture
de-slopification effort. Updates the spec docs and project knowledge
base to reflect the end state of the refactor.

- specs/go_llm_proxy_arch_review/resolution-plan.md: mark all phases
  complete; rewrite the plan as the final closure record.
- specs/go_llm_proxy_arch_review/{architecture-review,findings-register,
  source-index}.md: update to reflect deleted BuildExecutor wrappers,
  moved standard_table.go, and the feature merge surface.
- docs/adr/0001-registry-driven-composition.md: registry is now the
  registry type only; standard tables live in standardplugins; add a
  dated update entry for the standardbundle/types.go/BuildExecutor
  cleanup.
- docs/architecture-guardrails.md: document the bootstrap_plan.go
  composition-root exemption, the role metadata in the hexagonal
  baseline, and the standardplugins.DefaultWireModel rename.
- docs/architecture.md: note the MergeBundles/Append merge-surface
  simplification.
- internal/plugins/features/README.md: wiring location corrected from
  internal/pluginreg to internal/standardplugins.
- EchoesVault/pages/{plugin-system,testing-strategy}.md and
  EchoesVault/daily/2026-07-08.md: compiled knowledge base updated.

Docs only; no code or test changes.

Note: this PR describes the end state of the cleanup, which is delivered
across #118 (runtimebundle invariant boundary), #119 (baseline role),
and #120 (merge surface). It should merge after those three to keep
docs and code consistent.

Co-authored-by: Cursor <cursoragent@cursor.com>
@matdev83 matdev83 deleted the pr3/arch-baseline-role-observability branch July 13, 2026 14:10
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