Skip to content

docs: publish architecture boundary ADR baseline - #32

Merged
stone16 merged 1 commit into
mainfrom
codex/issue-4-architecture-adrs
Jul 19, 2026
Merged

docs: publish architecture boundary ADR baseline#32
stone16 merged 1 commit into
mainfrom
codex/issue-4-architecture-adrs

Conversation

@stone16

@stone16 stone16 commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Closes #4

Outcome

Publishes a contributor-facing architecture decision baseline for the seven implementation boundaries fixed by issue #4. Existing accepted ADRs are reused and completed with explicit rationale/revisit sections; two independently revisitable gaps receive focused ADRs:

  • ADR-0017: trusted invocation construction and the closed HTTP/generated SDK/optionally activated MCP access set;
  • ADR-0018: immutable ContextRevision publication through one transactional ContextResource active pointer.

The index documents allowed dependency direction, public interfaces, prohibited shortcuts, and links every accepted ADR. README and the agent domain guide link the index. No executable implementation, schema, or speculative provider choice is included.

Definition of Done evidence

  • Seven baseline decisions are indexed and accepted.
  • Every baseline ADR has Context, Decision, Rationale, Consequences, and Revisit trigger sections.
  • A new contributor can derive the engine boundary, external BotDelivery caller, API/worker/shared-domain topology, mandatory sealed Kernel, trusted/untrusted transport fields, ticket audience separation, and immutable publication model from the index plus CONTEXT.md.
  • Policy, audit, budget, provenance, and exact projection are mandatory; disable/no-op bypasses are prohibited.
  • HTTP, the generated SDK, and optionally activated MCP share one Runtime contract; IM is not a transport.
  • ADR-0018 owns ContextRevision activation and ContextResource tombstone visibility; ADR-0010 remains the authority for access revocation and source offboarding.
  • Independent Standards review: pass, 0 findings after fixes.
  • Independent Spec/DoD review: pass, 0 findings after fixes.

Verification

  • ADR structure/index executable check: 7/7 pass.
  • New-contributor derivation check: 7/7 pass.
  • Tracked/new contradiction assertions: 4/4 boundaries pass.
  • npx --yes markdownlint-cli2@0.18.1 README.md docs/agents/domain.md docs/decisions/README.md docs/decisions/*.md
  • npx --yes markdown-link-check@3.13.7 for the contributor entry points and changed ADRs.
  • Relative-link scan: pass across 35 tracked/new Markdown files.
  • git diff --check

There is still no runnable application or dependency manifest in D0, so issue-appropriate document, structure, contradiction, and link checks are the executable verification surface.

Summary by CodeRabbit

  • Documentation
    • Added an Architecture Decision Records index and documented the accepted architecture baseline, interface boundaries, and dependency direction.
    • Added guidance for reviewing domain documentation and revisiting architectural decisions.
    • Added decisions covering trusted runtime access and immutable revision publication.
    • Clarified rationale, consequences, and revisit criteria across several existing architecture decisions.
    • Reformatted documentation for improved readability without changing established contracts or license content.

@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The PR establishes an indexed ADR baseline, clarifies contributor documentation entry points, refines existing architecture decisions with rationale and revisit triggers, and adds ADRs for trusted Runtime access and immutable revision publication.

Changes

Architecture baseline

Layer / File(s) Summary
ADR index and documentation entry points
docs/decisions/README.md, docs/agents/domain.md, README.md
Adds the ADR index, accepted boundary baseline, dependency direction, public interface map, related decisions, and updated contributor reading guidance.
Refined architecture decisions
docs/decisions/0001-*.md, docs/decisions/0002-*.md, docs/decisions/0006-*.md, docs/decisions/0008-*.md, docs/decisions/0011-*.md, docs/decisions/0012-*.md, docs/decisions/0015-*.md
Updates ADR versions, formatting, rationale, consequences, revisit triggers, and selected decision wording.
Trusted access and immutable publication ADRs
docs/decisions/0017-*.md, docs/decisions/0018-*.md
Documents the closed trusted Runtime access contract and immutable revision publication with atomic active-pointer updates and tombstone visibility.

Estimated code review effort: 3 (Moderate) | ~20 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely summarizes the main change: publishing the architecture boundary ADR baseline.
Linked Issues check ✅ Passed The PR matches #4 by adding indexed ADRs, contributor links, rationale/consequences/revisit sections, and the listed boundary decisions.
Out of Scope Changes check ✅ Passed The changes stay within documentation and ADR baseline work; no unrelated implementation or speculative provider changes are introduced.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/issue-4-architecture-adrs

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/decisions/0018-immutable-revision-publication.md`:
- Around line 34-37: Update the reader consistency contract in the immutable
revision publication decision: require readers to use one database
snapshot/transaction for selecting the active ContextRevision and fetching all
fragments and indexes, or require every lookup to bind explicitly to that
selected ContextRevision. Clarify that the complete old-or-new guarantee depends
on this reader-side behavior, not solely on the publication transaction.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 23e3297a-8201-49b4-ae4b-03b213d28c89

📥 Commits

Reviewing files that changed from the base of the PR and between c790249 and e3d3885.

📒 Files selected for processing (12)
  • README.md
  • docs/agents/domain.md
  • docs/decisions/0001-adopt-doc-steward-standard.md
  • docs/decisions/0002-bot-gateway-outside-engine.md
  • docs/decisions/0006-engine-delivers-context-not-answers.md
  • docs/decisions/0008-modular-monolith-plus-worker.md
  • docs/decisions/0011-read-write-plane-separation.md
  • docs/decisions/0012-sealed-authorization-projection-pipeline.md
  • docs/decisions/0015-rls-transaction-context-and-schema-manifest.md
  • docs/decisions/0017-trusted-invocation-and-closed-runtime-access.md
  • docs/decisions/0018-immutable-revision-publication.md
  • docs/decisions/README.md

Comment on lines +34 to +37
indexing occur before activation. Publication changes the ContextResource's
active ContextRevision pointer in one PostgreSQL transaction so a reader sees
the complete old ContextRevision or the complete new ContextRevision, never a
hybrid.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift

Define the reader-side consistency contract.

Updating the active pointer in one transaction does not by itself prevent hybrid reads when fragments or indexes are fetched in separate statements/transactions. Specify a single read snapshot/transaction or require every content/index lookup to bind to the selected ContextRevision; otherwise the “complete old or complete new” guarantee is not enforceable.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/decisions/0018-immutable-revision-publication.md` around lines 34 - 37,
Update the reader consistency contract in the immutable revision publication
decision: require readers to use one database snapshot/transaction for selecting
the active ContextRevision and fetching all fragments and indexes, or require
every lookup to bind explicitly to that selected ContextRevision. Clarify that
the complete old-or-new guarantee depends on this reader-side behavior, not
solely on the publication transaction.

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.

docs: publish the settled architecture boundary ADRs

1 participant