Skip to content

Define the Echo–Keep boundary and semantic decision model - #721

Merged
flyingrobots merged 7 commits into
mainfrom
echo-keep
Aug 11, 2026
Merged

Define the Echo–Keep boundary and semantic decision model#721
flyingrobots merged 7 commits into
mainfrom
echo-keep

Conversation

@flyingrobots

@flyingrobots flyingrobots commented Aug 10, 2026

Copy link
Copy Markdown
Owner

Summary

  • Defines the Echo-owned physical-content boundary through which Keep may become an experimental backend while echo-cas remains in place.
  • Separates authenticated physical content truth from Echo causal authority, including transactional output visibility, typed refusal versus operational failure, a witnessed identity bridge, a pinned physical aperture, and request-before-effect crash recovery.
  • Adopts concept-owned durable decisions with explicit relationships and closes the numbered ADR directory as a historical archive.

Invariants

  • Keep establishes the exact physical bytes or refuses; Echo decides what those bytes mean causally.
  • No complete receipt means no application-visible output.
  • Orphaned physical content is acceptable; a committed Echo reference to unavailable content is not.
  • Keep types and Echo semantics remain behind an Echo-owned adapter boundary.

Scope

  • Tests only
  • Docs only
  • Runtime code

This PR changes no Echo runtime API, WSC identity, durable format, or production backend. Keep is accepted only for experimental conformance, not as Echo sole durable content authority.

Evidence

  • tests/docs/test_documentation_model.sh preserves the closed ADR archive and prevents current documentation from restoring numbered allocation.
  • Repository knowledge, retired-reference, generated-rule, Markdown, workflow, Node regression, Rust quality, deterministic-build, dependency-policy, and hosted integration checks pass at 01ac62a53.
  • All review threads are resolved; the ADR-policy thread records why the concept-owned decision supersedes the policy it cited.

Compatibility and recovery

The architecture preserves current echo-cas behavior and requires explicit migration, rollback, fallback removal, retention, and cross-store crash evidence before production adoption. Issue #722 owns that implementation and cutover work.

Links

Checklist

  • CI green (fmt, clippy, tests, rustdoc, audit/deny)
  • Kept PR focused on the Echo–Keep boundary and the decision model that governs it

Summary by CodeRabbit

  • Documentation

    • Added comprehensive documentation standards covering ownership, decision tracking, relationships, evidence, and maintenance.
    • Documented the experimental Echo–Keep physical-content boundary architecture.
    • Clarified the distinction between current decisions, plans, and the historical ADR archive.
    • Updated repository and topic guidance to reference the new documentation model.
  • Tests

    • Added documentation-model validation covering required files, archive rules, metadata, and links.
    • Updated continuous integration to run the documentation-model checks.

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The PR establishes documentation standards, converts numbered ADRs into a historical archive, adds documentation-model validation, and records the experimental Echo–Keep physical-content boundary and adoption requirements.

Changes

Documentation governance

Layer / File(s) Summary
Documentation standards and repository guidance
docs/DOCUMENTATION_STANDARDS.md, AGENTS.md
Defines canonical ownership, page roles, evidence rules, decision relationships, maintenance workflow, and repository guidance.
Decision archive and canonical links
docs/adr/*, docs/README.md, docs/invariants/FIXED-TIMESTEP.md, docs/topics/README.md, docs/plans/echo-keep-physical-cas-interop-plan.md
Reclassifies numbered ADRs as historical records and updates current documentation links and decision-routing rules.
Documentation-model regression coverage
tests/docs/test_documentation_model.sh, tests/docs/test_knowledge_model.sh, .github/workflows/ci.yml
Validates the documentation policy, ADR archive, links, metadata, and required files in CI.

Echo–Keep physical-content architecture

Layer / File(s) Summary
Boundary and reconstruction contract
docs/architecture/echo-keep-physical-content-boundary.md
Defines the Echo-owned adapter boundary, complete-object reconstruction, quarantine, atomic promotion, refusal results, and operational errors.
Identity bridge and pinned physical views
docs/architecture/echo-keep-physical-content-boundary.md
Defines separate Echo and Keep identities, binding witnesses, physical provenance, and pinned physical views.
Publication, recovery, and migration
docs/architecture/echo-keep-physical-content-boundary.md
Defines cross-store publication, WAL recovery, provisional retention, explicit migration fallback, re-verification, and backfill.
Experimental adoption gates
docs/architecture/echo-keep-physical-content-boundary.md, docs/README.md
Defines production adoption gates and links the architecture document from the documentation index.

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

Possibly related issues

  • flyingrobots/keep#22 — Covers the Echo–Keep adapter and cross-system transaction boundary.
  • flyingrobots/echo#722 — Tracks implementation and conformance work for the documented physical-content boundary.
  • flyingrobots/keep#23 — Covers implementation of the adapter architecture and its recovery and adoption requirements.

Suggested labels: tooling

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main changes: the Echo–Keep physical boundary and the semantic decision model.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch echo-keep

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
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 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/architecture/echo-keep-physical-content-boundary.md`:
- Around line 156-164: The complete-view absence witness is underspecified
across both documents. In
docs/architecture/echo-keep-physical-content-boundary.md:156-164, define the
receipt evidence, completeness predicate, and retained-closure proof required to
establish target non-membership in the pinned view; in
docs/plans/echo-keep-physical-cas-interop-plan.md:153-166, update the
conformance cases to exercise and verify that same evidence and rule.
- Around line 111-129: Define a single output-visibility contract and apply it
consistently: in
docs/architecture/echo-keep-physical-content-boundary.md:111-129, either specify
implementable transactional promotion semantics or revise the no-visible-bytes
guarantee; align the sink-failure witness in
docs/plans/echo-keep-physical-cas-interop-plan.md:139-146 with that choice; and
update the durable operation’s prefix rule in
docs/plans/echo-keep-physical-cas-interop-plan.md:190-198 to match the
architecture contract.

In `@docs/plans/echo-keep-physical-cas-interop-plan.md`:
- Around line 12-13: Update the “Keep contract” reference in the plan so it is
reproducible: link to the external flyingrobots/keep document at a specific
pinned revision, or explicitly identify the path as external and record the
revision used by the plan. Preserve the referenced document path while making
the cross-reference navigable and revision-specific.
🪄 Autofix

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: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: c8c7fedb-49f9-429c-8a17-00641da1ac32

📥 Commits

Reviewing files that changed from the base of the PR and between c354d53 and 60956c5.

📒 Files selected for processing (3)
  • docs/README.md
  • docs/architecture/echo-keep-physical-content-boundary.md
  • docs/plans/echo-keep-physical-cas-interop-plan.md

Comment thread docs/architecture/echo-keep-physical-content-boundary.md Outdated
Comment thread docs/architecture/echo-keep-physical-content-boundary.md
Comment thread docs/plans/echo-keep-physical-cas-interop-plan.md Outdated

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 60956c55e8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/architecture/echo-keep-physical-content-boundary.md Outdated
Comment thread docs/plans/echo-keep-physical-cas-interop-plan.md Outdated
Comment thread docs/architecture/echo-keep-physical-content-boundary.md
Comment thread docs/plans/echo-keep-physical-cas-interop-plan.md Outdated
Comment thread docs/plans/echo-keep-physical-cas-interop-plan.md Outdated
@flyingrobots
flyingrobots marked this pull request as draft August 10, 2026 04:05
@flyingrobots flyingrobots changed the title Define the Echo–Keep physical content boundary Define the Echo–Keep boundary and semantic decision model Aug 10, 2026
@flyingrobots
flyingrobots marked this pull request as ready for review August 11, 2026 01:39

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 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/adr/0012-repository-knowledge-model.md`:
- Around line 24-29: Add a historical-retention note immediately before the
five-home list in the repository knowledge model section, stating that the list
records the July 2026 model and no longer governs current ownership. Preserve
the original decision text and distinguish it from the current Documentation
Standards policy.

In `@docs/architecture/echo-keep-physical-content-boundary.md`:
- Around line 134-137: Update the success-receipt verification described in the
staging artifact promotion flow to require the requested target identity, pinned
view identity, Keep identity, and exact logical length before atomic commit.
Ensure an artifact with a receipt for another same-length object cannot be
promoted, and preserve observation emission only after successful commit.
- Around line 293-298: Clarify the publication sequence around the Echo
request-and-claim contract: define the pre-publication claim as a
non-authoritative operation-intent or WAL record, explicitly not a content
reference or observation. State that Echo creates the authoritative reference
only after Keep’s publication is durably reconciled, while preserving the
existing settlement-before-resumption ordering.
🪄 Autofix

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: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 5162e8f3-88d5-46a1-b74e-ce598ac20e44

📥 Commits

Reviewing files that changed from the base of the PR and between 60956c5 and b1f095a.

📒 Files selected for processing (13)
  • .github/workflows/ci.yml
  • AGENTS.md
  • docs/DOCUMENTATION_STANDARDS.md
  • docs/README.md
  • docs/adr/0012-repository-knowledge-model.md
  • docs/adr/README.md
  • docs/architecture/echo-keep-physical-content-boundary.md
  • docs/invariants/FIXED-TIMESTEP.md
  • docs/plans/echo-keep-physical-cas-interop-plan.md
  • docs/topics/README.md
  • tests/docs/test_adr_namespace.sh
  • tests/docs/test_documentation_model.sh
  • tests/docs/test_knowledge_model.sh
💤 Files with no reviewable changes (1)
  • tests/docs/test_adr_namespace.sh

Comment thread docs/adr/0012-repository-knowledge-model.md
Comment thread docs/architecture/echo-keep-physical-content-boundary.md Outdated
Comment thread docs/architecture/echo-keep-physical-content-boundary.md Outdated

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b1f095ae47

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread tests/docs/test_documentation_model.sh Outdated
Comment thread docs/architecture/echo-keep-physical-content-boundary.md
Comment thread docs/plans/echo-keep-physical-cas-interop-plan.md
@flyingrobots
flyingrobots merged commit 490134c into main Aug 11, 2026
40 checks passed
@flyingrobots
flyingrobots deleted the echo-keep branch August 11, 2026 05:41
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