Skip to content

docs: reconcile architecture documentation fitness - #44

Open
seonghobae wants to merge 103 commits into
mainfrom
docs/reconcile-conversation-architecture-20260810
Open

docs: reconcile architecture documentation fitness#44
seonghobae wants to merge 103 commits into
mainfrom
docs/reconcile-conversation-architecture-20260810

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Problem

OriginWeave already had a broad PRD/TRD/Architecture/ADR/UML/ERD/security/operability/traceability graph, but protected-main documentation had semantic drift: incomplete ADR discovery, historical implementation lineage presented too prominently, active-PR behavior that could be mistaken for shipped truth, and authority boundaries that lacked machine-checkable reconciliation.

Current semantic verdict

DESIGN-SUFFICIENT / PROTECTED-MAIN-PARTIAL.

The design graph is sufficiently broad to reconstruct product intent, trust boundaries, conceptual data model, operational/release expectations and accepted/planned capability boundaries without chat history. It is not protected-main/as-built closure: active implementation branches remain non-shipped evidence until dependency-ordered integration and fresh protected-main acceptance.

Current exact branch scope

Current exact head is 9e2be616b261e45aaac5bf875a637020976e4c80 against unchanged protected main 67af7c87589edc2039545af335c95064d9b8391c.

This canonical documentation line now:

  • separates IMPLEMENTED_ON_PROTECTED_MAIN, IMPLEMENTED_ON_ACTIVE_PR, PARTIAL, ACCEPTED_ARCHITECTURE, PLANNED, RESEARCH_ONLY, SUPERSEDED and OUT_OF_SCOPE maturity;
  • retains historical feat: bound HTTP/1.1 semantics to authenticated streams #11 only as HTTP predecessor lineage while feat(http): rebuild bounded HTTP/1.1 authority on current main #37 remains active/non-shipped;
  • records browser authority/semantic work, resolution freshness, TLS freshness, sensitive-data lifecycle work and the MV3 compatibility stack without promoting them into protected-main truth;
  • repairs ADR indexing/status lifecycle and keeps branch presence or merge provenance separate from Accepted lifecycle authority;
  • adds Proposed ADR 0013 for Manifest V3 compatibility vs extension-to-Agent authority and Proposed ADR 0014 for architecture-decision governance without auto-accepting either;
  • preserves a conceptual ERD because no active slice introduces an OriginWeave-owned durable persistence schema or owner;
  • adds extension-permission-to-Agent-authority UML and machine-checkable documentation contracts; and
  • adds docs/traceability/extension-authority-security.md, recording PR test(policy): prove extension grants cannot widen Agent authority #62 and test(policy): prove extension grants cannot bypass secret authority #63 as active composition evidence that extension proposal authority cannot widen Agent origin/capability/instruction/secret/approval authority.

The extension-security dossier explicitly preserves the non-transitive chain from Chromium permission to an exact extension grant to typed-action proposal, while forbidding that proposal permission from becoming Agent capability, broader origin authority, trusted instruction source, secret-delivery authority, approval or protected-value resolution. It does not close issue #27 or issue #10.

Documentation fitness finding

  • ADR: sufficient breadth and lifecycle discipline; 0013/0014 remain Proposed.
  • PRD/TRD: sufficient design/control contracts, with protected-main implementation state kept separate from volatile active evidence.
  • Architecture: sufficient for current trust domains and authority-bearing control plane.
  • UML: sufficient for current material authority flows. Detailed real-Chromium adapter/input/post-condition sequence detail remains intentionally deferred until issue [Product Gap] Complete the first real Chromium agent vertical slice #28 executable contracts stabilize.
  • ERD/data model: the conceptual model is the truthful current artifact. Manufacturing physical tables for in-memory/value/fixture primitives would be false architecture.
  • Security/Test/Operability/Release/Traceability/Doctoring: present and machine-checked; volatile exact-head evidence remains labeled active/non-shipped.

Latest RCA and exact-head evidence

The first extension-security traceability contract failed on exact head 6e71663ab3099a669af29655ab007c056c1eb21d because the test asserted a literal plain-text phrase while the canonical dossier emphasized not with Markdown. The production documentation semantics were correct; the test was presentation-coupled. Commit 9e2be616b261e45aaac5bf875a637020976e4c80 fixes the contract by normalizing Markdown emphasis before the semantic assertion rather than weakening the required meaning.

On unchanged exact head 9e2be616b261e45aaac5bf875a637020976e4c80:

  • CI run 31437209714: success;
  • Security Scan run 31437209773: success;
  • SAST Semgrep run 31437209715: success;
  • Manifest V3 Compatibility run 31437209741: success;
  • exact owned production coverage remains successful;
  • CodeRabbit exact-head commit status: success;
  • every currently returned inline review thread is resolved; and
  • GitHub reports the PR mergeable.

No predecessor-head result is transferred to this exact head.

Truth boundary

This PR does not claim the browser/runtime product is complete, any active feature branch is shipped, a Proposed ADR is Accepted, a trusted sensitive-data broker exists, or a green documentation branch equals release readiness. Even after this documentation PR integrates, PROTECTED-MAIN-SUFFICIENT may be claimed only after protected-main documentation is re-evaluated against the feature heads that actually integrated and corresponding protected-main acceptance exists.

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

문서 적합성 평가와 ADR 거버넌스 규칙을 확장했습니다. PRD, TRD, 추적성 문서에서 protected-main과 active-PR 상태를 분리했습니다. MV3 권한, 프로토콜, freshness 요구사항을 문서화했습니다. 문서 계약 테스트를 추가·확장했습니다.

Changes

문서 거버넌스 정합성

Layer / File(s) Summary
문서 적합성 평가와 제품·기술 상태
docs/DOCUMENTATION_FITNESS.md, docs/PRD.md, docs/TRD.md
문서군별 상태와 protected-main 및 active-PR 증거를 구분했습니다. HTTP, 민감 데이터, 브라우저, MV3, 리소스 및 릴리스 상태를 갱신했습니다.
추적성 및 freshness 권한
docs/traceability/*
capability maturity, ADR lifecycle, HTTP 근거와 resolution 및 TLS freshness 권한의 상태와 완료 조건을 정의했습니다.
확장 권한 및 프로토콜 경계
docs/adr/0013-manifest-v3-extension-authority.md, docs/doctoring/browser-agent-protocols.md, docs/uml/extension-authority.md, docs/uml/README.md
MV3 호환성 권한과 OriginWeave Agent 권한을 분리했습니다. 브라우저 프로토콜, 민감정보 승인, 실행 후 검증 및 증거 경계를 문서화했습니다.
ADR 및 문서 인덱스 거버넌스
docs/README.md, docs/adr/README.md, docs/adr/0014-architecture-decision-governance.md
Accepted와 Proposed ADR을 분리했습니다. protected-main 거버넌스, 상태 메타데이터, provenance 및 인덱스 완전성 규칙을 추가했습니다.
문서 계약 검증
tests/test_documentation_fitness_contract.py, tests/test_product_documentation_contract.py, tests/test_freshness_traceability_contract.py, tests/test_documentation_discoverability_followup.py
문서 링크, ADR 상태, protected-main 증거 경계, 추적성 라벨, freshness 문서 및 UML 구분을 검증하는 테스트를 추가·갱신했습니다.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related issues

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
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 제목은 보호된 main 증거와 아키텍처 문서 적합성을 조정하는 이 변경의 핵심 목적을 정확히 요약합니다.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/reconcile-conversation-architecture-20260810

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: 3

🧹 Nitpick comments (1)
docs/adr/README.md (1)

13-15: 📐 Maintainability & Code Quality | 🔵 Trivial | 🏗️ Heavy lift

ADR 수락 거버넌스를 전용 ADR에 기록하세요.

docs/adr/README.mdAccepted 독립 승인 요구 조건과 solo-maintainer 예외는 새로운 구속력 있는 거버넌스 결정입니다. 지침에 따라 이 결정, 근거, 취소 조건을 기존 ADR 0002 또는 전용 ADR에 기록하고 해당 ADR을 인덱스에 연결하지 않고 여기서만 정의하지 마세요.

🤖 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/adr/README.md` around lines 13 - 15, Move the binding Accepted-ADR
governance rules from docs/adr/README.md into an existing ADR 0002 or a new
dedicated ADR, including the independent non-author approval requirement,
solo-maintainer exception, supporting rationale, and reversal conditions. Link
the selected ADR from the README index and retain only a concise reference here;
do not define these rules solely in the README.

Source: Coding guidelines

🤖 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/README.md`:
- Line 47: Synchronize the ADR 0109 title between the index entry and the H1 in
0109-hourly-automation-operational-closure.md. Update either the index title or
the ADR header so both use the same wording, while preserving the existing ADR
0109 link and status.

In `@docs/DOCUMENTATION_FITNESS.md`:
- Line 34: Update the standards-evidence documentation referenced by
DOCUMENTATION_FITNESS, especially the WARC/PROV, WebDriver BiDi, CDP, WebMCP,
MCP, and Manifest V3 claims, by linking each to primary specifications or
official documentation and corresponding APA 7 references in docs/doctoring.md.
If any source is missing, add it there while preserving the explicit separation
between experimental browser interfaces and final normative standards.

In `@tests/test_documentation_fitness_contract.py`:
- Around line 36-51: Update the documentation fitness test around accepted_paths
and proposed_paths to derive the ADR file set from ADR_ROOT instead of fixed
lists. Parse both docs_index and adr_index into path-to-status mappings, reject
duplicates and missing entries in either index, and compare each index’s status
against the ADR file metadata, including accepted ADRs; preserve the documented
accepted/proposed status requirements from docs/README.md and
docs/adr/README.md.

---

Nitpick comments:
In `@docs/adr/README.md`:
- Around line 13-15: Move the binding Accepted-ADR governance rules from
docs/adr/README.md into an existing ADR 0002 or a new dedicated ADR, including
the independent non-author approval requirement, solo-maintainer exception,
supporting rationale, and reversal conditions. Link the selected ADR from the
README index and retain only a concise reference here; do not define these rules
solely in the README.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f03ac9cb-b23a-48d5-8ada-ecd6f3f00bbc

📥 Commits

Reviewing files that changed from the base of the PR and between 67af7c8 and acf7ce0.

📒 Files selected for processing (4)
  • docs/DOCUMENTATION_FITNESS.md
  • docs/README.md
  • docs/adr/README.md
  • tests/test_documentation_fitness_contract.py

Comment thread docs/adr/README.md Outdated
Comment thread docs/DOCUMENTATION_FITNESS.md Outdated
Comment thread tests/test_documentation_fitness_contract.py Outdated
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