Skip to content

docs: define acquisition-ready architecture contract - #137

Closed
seonghobae wants to merge 93 commits into
mainfrom
docs/acquisition-architecture-contract
Closed

docs: define acquisition-ready architecture contract#137
seonghobae wants to merge 93 commits into
mainfrom
docs/acquisition-architecture-contract

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • defines the authoritative buyer-facing DiskSage architecture and acquisition-readiness contract
  • separates observation, decision support, runtime authorization, repository authorization, execution, and evidence authority
  • documents standalone operation and bounded modular MSA integration with ContextualWisdomLab/.github, Naruon, contextual-orchestrator, and other CWL services
  • binds runtime mutation authorization to exact operation scope, fingerprints, schema, UTC and monotonic freshness, and a 15-minute lifetime without treating a repository checkout or Git reference as an operator credential
  • separately binds merge and release authorization to exact-current-head CI, security, review, approval, packaging, provenance, and repository-policy evidence
  • expands frontend measurement to all production TypeScript under src/lib and src/routes with 100% statement, branch, function, and line thresholds
  • binds test and Tauri release build entry points to the production coverage gate
  • fails closed in both frontend and durable Rust transfer gates when either organization destination scope or the canonical organization-sensitive review reason requires tenant authority
  • removes obsolete one-shot repair workflows that retained dormant write-capable recovery paths

Canonical documentation graph

This PR now makes the product understandable without reconstructing chat history or feature PR bodies:

  • docs/PRD.md
  • docs/TRD.md
  • ARCHITECTURE.md
  • docs/adr/README.md and ADR-0001 through ADR-0005
  • docs/UML.md
  • docs/DATA_MODEL.md with conceptual-versus-persisted status and ERD
  • docs/API_CONTRACT.md
  • docs/THREAT_MODEL.md
  • docs/TEST_STRATEGY.md
  • docs/OPERABILITY.md
  • docs/TRACEABILITY.md
  • docs/DOCUMENTATION_ASSESSMENT.md
  • docs/README.md
  • aligned AGENTS.md, CLAUDE.md, and CHANGELOG.md

src/lib/architectureDocumentation.test.ts now fails if the canonical document families or critical authority/data-model markers disappear. Active PR capabilities remain labeled active_pr; the documentation does not promote #138-#142 or #133/#139/#140 to protected-main truth.

Documentation assessment

Before this expansion, Architecture was comparatively strong but was being asked to substitute for PRD, TRD, ADR lifecycle, UML, ERD/data model, threat model, testing, operability, and traceability. README and detailed Superpowers/doctoring documents were useful feature evidence but not a discoverable canonical acquisition graph. docs/DOCUMENTATION_ASSESSMENT.md records that gap and the remaining rule: this documentation becomes protected-source authority only after this PR is integrated and exact-head gates pass.

Standards evidence

The existing architecture/doctoring references retain current publisher-verified NIST SP 800-218 SSDF 1.1, NIST SP 800-53 Rev. 5 / Release 5.2.0 material, ISO/IEC 27001:2022 and Amendment 1:2024, ISO/IEC 27040:2024, OWASP ASVS 5.0.0, SLSA 1.2, WCAG 2.2, and ISO/IEC 40500:2025, with APA 7th references. Feature-specific primary evidence remains in the relevant doctoring records. Citations do not imply certification or blanket conformance.

Current exact-head gate

Current exact source head: 5097ce12ebc01ca00ca40e946cc15e17ae9aa0da

Independently rechecked protected main tip: 9bcb14ff9719029411591036b249537b22d2f3fd.

Fresh exact-head workflow state after the documentation expansion:

  • Test run 31309562293: queued
  • Release run 31309562270: queued
  • SAST Semgrep run 31309562284: queued
  • Security Scan run 31309562294: pending
  • CodeRabbit attempted to review the new 20-file documentation delta but reported a transient review-rate limit; that is service feedback, not a source finding or approval.

The local container could not independently clone GitHub because its environment currently cannot resolve github.com; therefore no local full-suite pass is claimed for this head. GitHub exact-head workflows remain authoritative.

Merge only after the unchanged exact head satisfies all actual required Test/Release/security/SAST/coverage/packaging/provenance gates, no valid unresolved human/automated finding remains, qualifying independent non-author approval is present where required by live repository policy or explicit DiskSage/CWL governance, and branch protection/rulesets/repository policy pass without bypass. Pending, queued, cancelled, skipped-required, neutral-required, missing, failed, rate-limited, or stale-head evidence is not passing.

Summary by CodeRabbit

  • 문서화
    • 제품 요구사항, 아키텍처, 데이터 모델, 운영, 테스트, 보안·위협 모델, API 계약 및 추적성 문서를 추가했습니다.
    • 승인·실행 경계, 장애 대응, 릴리스 기준과 모델 무결성 검증 규칙을 명확히 했습니다.
  • 보안 및 권한
    • 조직 범위 클라우드 검토에 명시적 테넌트 권한 증명을 요구합니다.
    • 불완전하거나 만료된 승인과 검토 근거가 없는 항목을 차단합니다.
  • 품질 개선
    • 전체 주요 모듈로 커버리지를 확대하고 빌드 전 검증을 적용했습니다.
    • 최신 소스 기준 릴리스 검증을 강화하고 불필요한 자동 복구 절차를 제거했습니다.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

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
ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 817ae833-4b89-4204-a7cc-dd12e4ee8ca5

📥 Commits

Reviewing files that changed from the base of the PR and between ccaee33 and b7a5ce1.

📒 Files selected for processing (12)
  • AGENTS.md
  • CHANGELOG.md
  • docs/API_CONTRACT.md
  • docs/adr/0002-evidence-authorization-separation.md
  • docs/adr/0003-exact-head-repository-evidence.md
  • docs/adr/0004-model-artifact-integrity.md
  • docs/adr/0005-central-control-plane-boundary.md
  • src-tauri/src/cloud_eviction.rs
  • src-tauri/src/cloud_transfer.rs
  • src/lib/architectureDocumentation.test.ts
  • src/lib/cloudReviewQueue.authorization.test.ts
  • src/lib/cloudReviewQueue.ts

📝 Walkthrough

Walkthrough

DiskSage의 아키텍처, 권한, 개인정보, 운영 및 릴리스 계약을 문서화했다. 클라우드 리뷰와 전송에 조직 테넌트 권한 검증을 적용했다. 문서 회귀 테스트와 전체 TypeScript 커버리지 게이트를 빌드 및 CI에 연결했다.

Changes

아키텍처 및 운영 계약

Layer / File(s) Summary
시스템 경계와 실행 계약
ARCHITECTURE.md, docs/PRD.md, docs/TRD.md, docs/API_CONTRACT.md, docs/DATA_MODEL.md, docs/UML.md, docs/adr/*
제품 범위, 런타임 권한, 증적 흐름, 데이터 모델, IPC 계약, 승인 만료 및 실패 폐쇄 규칙을 정의했다.
릴리스·거버넌스·운영 계약
AGENTS.md, CLAUDE.md, SECURITY.md, CHANGELOG.md, docs/TEST_STRATEGY.md, docs/OPERABILITY.md, docs/THREAT_MODEL.md, docs/TRACEABILITY.md, docs/DOCUMENTATION_ASSESSMENT.md
정확한 현재 head 증거, 저장소 작성 권한, 모델 무결성, 운영 복구, 보안·릴리스 조건 및 문서 변경 통제를 기록했다.
클라우드 큐 테넌트 권한 검증
src/lib/cloudReviewQueue.ts, src/lib/cloudReviewQueue.test.ts, src/lib/cloudReviewQueue.authorization.test.ts, docs/architecture/cloud-review-tenant-authority.md
조직 범위 또는 조직 민감 사유가 있으면 테넌트 권한 증명을 요구하도록 변경했다. 승인·보류 결정과 입력 검증을 확장했다.
Rust 클라우드 전송 권한 검증
src-tauri/src/cloud_transfer.rs, src-tauri/src/cloud_eviction.rs, src-tauri/src/naruon_lineage.rs, src-tauri/tests/cloud_transfer_tenant_authority_gate.rs
조직 계정 범위 또는 조직 권한 사유가 있는 전송을 테넌트 권한 증명 없이 승인하지 않도록 변경했다. 관련 테스트와 영수증 근거를 갱신했다.
문서 회귀와 커버리지 게이트
src/lib/architectureDocumentation.test.ts, vitest.config.ts, package.json, .github/workflows/test.yml
문서 구조, 권한 만료, 현재 head, 문서 그래프 및 전체 TypeScript 커버리지를 검증하고 빌드와 CI에 연결했다.

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
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 인수 준비 아키텍처 계약을 정의하는 PR의 주요 변경 사항을 정확하고 간결하게 요약합니다.
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.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/acquisition-architecture-contract

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

🤖 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 `@ARCHITECTURE.md`:
- Around line 202-217: Align the exact-head required workflow entry points in
.github/workflows/test.yml and .github/workflows/release.yml with the documented
100% production coverage gate: run npm run coverage rather than only npm test,
and ensure the configured coverage scope includes all production files instead
of being limited to the current five-file set such as src/lib/api.ts.
- Around line 121-135: Update the authorization section in ARCHITECTURE.md to
define authoritative contracts separately for read-only and each mutating
operation, replacing ambiguous terms such as “can include,” “where material,”
and “short-lived” with required inputs, fingerprint and scope constraints,
freshness requirements, the clock used for expiry, and the explicit rejection
state after expiry. Extend the documented 15-minute rule beyond cloud-copy and
existing-copy adoption where required, and specify each operation’s applicable
expiry behavior without changing unrelated guidance.
- Around line 229-233: Update the standards references in the architecture
evidence model around the WCAG citation: record WCAG 2.2 separately with the
fixed W3C URL https://www.w3.org/TR/2023/REC-WCAG22-20231005/, and record
ISO/IEC 40500:2025 as a distinct ISO standard based on that recommendation.
Ensure each APA citation’s date matches its corresponding standard and URL.

In `@src/lib/architectureDocumentation.test.ts`:
- Around line 19-60: Strengthen the architecture documentation tests around the
existing requiredHeadings and buyer-facing claims test: add “## Architecture
change control” and “## Reference verification note”, validate the exact-head
statements with an ordered regex enforcing continuity, verify each evidence path
is present in ARCHITECTURE.md and exists in the repository, and assert the
essential snake_case database-naming condition remains documented.
- Around line 12-14: Update readRepositoryDocument to resolve paths from the
module-based repository root rather than process.cwd(). Derive that root using
import.meta.url and fileURLToPath, then resolve relativePath against it so
ARCHITECTURE.md remains accessible regardless of the test runner’s working
directory.
🪄 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: e03eae3a-747e-4c22-a3fe-3745a641f01b

📥 Commits

Reviewing files that changed from the base of the PR and between 9bcb14f and 1137e76.

📒 Files selected for processing (3)
  • ARCHITECTURE.md
  • CHANGELOG.md
  • src/lib/architectureDocumentation.test.ts

Comment thread ARCHITECTURE.md Outdated
Comment thread ARCHITECTURE.md Outdated
Comment thread ARCHITECTURE.md Outdated
Comment thread src/lib/architectureDocumentation.test.ts
Comment thread src/lib/architectureDocumentation.test.ts

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown
Contributor Author

@opencode-agent review

Review exact current head 87ac0e08cceed3d1a766da13a8f8123912178192 against base 9bcb14ff9719029411591036b249537b22d2f3fd only. Recompute current-head test, 100% production statement/branch/function/line coverage, docstring, exact-head, security, packaging, provenance, and policy evidence. Verify the acquisition architecture contract, per-operation authorization expiry and fail-closed states, whole-production frontend coverage binding, standalone/MSA boundaries, database naming rule, and APA 7th standards references. Do not reuse predecessor-head evidence.

Copy link
Copy Markdown
Contributor Author

@cwl-noema-review

Perform an independent formal review of exact current head 87ac0e08cceed3d1a766da13a8f8123912178192 against base 9bcb14ff9719029411591036b249537b22d2f3fd only. Verify the current-head architecture, authorization, privacy, database-naming, whole-production coverage, workflow, provenance, standalone/MSA, and standards-evidence contracts. Do not reuse predecessor-head or sibling-PR evidence; submit a formal current-head verdict.

Copy link
Copy Markdown
Contributor Author

@opencode-agent review

Perform an independent formal review of exact current head 87ac0e08cceed3d1a766da13a8f8123912178192 against protected main 9bcb14ff9719029411591036b249537b22d2f3fd. Recompute current-head test, 100% production coverage, docstring, release, security, SAST, architecture-contract, and repository-policy evidence. Verify the authorization lifetime and fail-closed expiry contracts, module-root evidence-path tests, snake_case database naming rule, separate W3C WCAG 2.2 and ISO/IEC 40500:2025 references, and exact-head coverage entry points. Do not reuse predecessor-head verdicts. Submit a formal exact-head verdict only and do not modify reviewer credentials, workflow permissions, model routing, or unrelated files.

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

Review exact current head 87ac0e08cceed3d1a766da13a8f8123912178192 only. Re-evaluate the eight-file final diff after all prior findings were addressed. Verify whole-production Vitest coverage and CI entry points, operation-specific authorization scope/fingerprint/freshness/15-minute expiry semantics, module-root document loading, evidence-path existence checks, database naming contract, APA 7th references, and the removal of only the unreachable empty-character fallback. Do not reuse older-head findings.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

@seonghobae I will review only head 87ac0e08cceed3d1a766da13a8f8123912178192 against base 9bcb14ff9719029411591036b249537b22d2f3fd. I will recompute the requested evidence and will not reuse predecessor-head findings.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@opencode-agent opencode-agent 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.

Pull request overview

OpenCode could not approve from deterministic current-head evidence because GitHub Checks have failed.

Findings

1. HIGH Current-head GitHub Checks - Fix failed required checks before approval

  • Problem: Failed same-head checks remain for 87ac0e08cceed3d1a766da13a8f8123912178192.
  • Root cause: The model-unavailable evidence fallback is allowed only when peer GitHub Checks are complete and clean.
  • Fix: Read and fix the failed check logs below, then rerun the current-head checks.
  • Regression test: Keep the model-unavailable fallback gated on an empty failed-check rollup.

Failed checks:

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Workflow: test.yml"]
  S1 --> I1["GitHub Actions review job"]
  I1 --> R1["Review risk: Workflow: test.yml"]
  R1 --> V1["actionlint plus required checks"]
  Evidence --> S2["Changed file (7 files)"]
  S2 --> I2["repository behavior"]
  I2 --> R2["Review risk: Changed file (7 files)"]
  R2 --> V2["required checks"]
Loading

@opencode-agent

opencode-agent Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: 9ceb01be3c96f04bf7400e8d50a3c3ba0902ee51
  • Workflow run: 31112258152
  • Workflow attempt: 1
  • Gate result: REQUEST_CHANGES (approval step)

Pull request overview

OpenCode cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head 9ceb01be3c96f04bf7400e8d50a3c3ba0902ee51.

  • Head SHA: 9ceb01be3c96f04bf7400e8d50a3c3ba0902ee51

  • Workflow run: 31112258152

  • Workflow attempt: 1

Coverage evidence

Coverage Decision

  • Result: FAIL
  • Test evidence: not proven passing
  • Docstring evidence: not proven passing when configured
  • Failure count: 1

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Workflow (2 files)"]
  S1 --> I1["GitHub Actions review job"]
  I1 --> R1["Review risk: Workflow (2 files)"]
  R1 --> V1["actionlint plus required checks"]
  Evidence --> S2["Changed file (11 files)"]
  S2 --> I2["repository behavior"]
  I2 --> R2["Review risk: Changed file (11 files)"]
  R2 --> V2["required checks"]
  Evidence --> S3["Docs: cloud-review-tenant-authority.md"]
  S3 --> I3["operator or user guidance"]
  I3 --> R3["Review risk: Docs: cloud-review-tenant-authority.md"]
  R3 --> V3["docs review"]
Loading

Copy link
Copy Markdown
Contributor Author

@opencode-agent @cwl-noema-review

Perform a formal independent review of exact current head 87ac0e08cceed3d1a766da13a8f8123912178192 against protected base 9bcb14ff9719029411591036b249537b22d2f3fd only. Recompute current-head evidence; all repository Test, Release, Security Scan, and SAST runs are successful, CodeRabbit status is successful, and all inline review threads are resolved. Verify the acquisition architecture authority boundaries, exact-head 100% production coverage gate, operation-specific authorization expiry contracts, fixed standards citations, modular standalone/MSA integration contract, and unchanged least-privilege/reviewer credentials. Submit a formal exact-head verdict without reusing predecessor-head evidence.

@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: 12

🧹 Nitpick comments (1)
src-tauri/tests/cloud_transfer_tenant_authority_gate.rs (1)

151-176: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

조직 전송의 허용 경로를 추가하십시오.

현재 이 테스트는 attestation이 없는 rejected 경로를만 다룹니다. attested rationale이 있는 승인 CloudReviewDecision으로 CloudAccountScope::OrganizationORGANIZATION_TENANT_AUTHORITY_REVIEW_REASON 케이스를 확인하고, organization-tenant-authority-attestation-required blocker가 없도록 하십시오. 필요하면 실제 receipt 경로까지 함께 검증하십시오.

🤖 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 `@src-tauri/tests/cloud_transfer_tenant_authority_gate.rs` around lines 151 -
176, Extend
organization_signals_require_tenant_authority_even_without_ordinary_review with
an approved CloudReviewDecision containing an attested rationale for both
CloudAccountScope::Organization and ORGANIZATION_TENANT_AUTHORITY_REVIEW_REASON
cases. Assert that candidate_blockers_with_review does not contain
organization-tenant-authority-attestation-required, and validate the actual
receipt path as well if required by the surrounding APIs.

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 `@CHANGELOG.md`:
- Line 35: Update CHANGELOG.md and AGENTS.md to align the npm lockfile
publication job with the repository’s write-authority policy: place publication
under the DiskSage writer loop, or document and implement an explicit writer
lease with same-run artifact/CAS or blob-SHA validation and unchanged-head
checks before committing. In CHANGELOG.md line 35 and AGENTS.md lines 27-31,
ensure the recorded policy matches the implemented workflow and grants contents:
write only to the validated publication step.

In `@docs/adr/0002-evidence-authorization-separation.md`:
- Line 44: Update the approval-lifetime statement in the ADR to require exactly
15 minutes from issuance for every mutation approval, replacing the “default”
wording and explicitly stating that no longer lifetime or per-operation
exception is permitted.

In `@docs/adr/0003-exact-head-repository-evidence.md`:
- Around line 35-45: Update the merge/release evidence requirements in the ADR
so they use separate commit contracts: merge must validate the PR source head
with the independently resolved live base, while release must validate the exact
protected integrated head. Require release checks and artifacts to be tied to
that same integrated commit, and replace the ambiguous “exact current source
head” wording with explicit symbols for each flow.

In `@docs/adr/0004-model-artifact-integrity.md`:
- Line 5: Update the status on line 5 of
docs/adr/0004-model-artifact-integrity.md,
docs/adr/0001-local-first-runtime-authority.md, and
docs/adr/0002-evidence-authorization-separation.md from Proposed to either
active or planned, preserving the rest of each ADR content.
- Line 50: Update the model-loading contract described in the ADR so llama
initialization consumes the already validated FileHandle/bytes rather than
reopening the artifact by path, or explicitly define equivalent OS-level
identity protection. Extend the test requirements near the existing line 77
coverage to verify the validated handle/bytes remain bound through
initialization and detect replacement attempts.

In `@docs/adr/0005-central-control-plane-boundary.md`:
- Around line 3-5: Update the ADR status in 0005-central-control-plane-boundary
to use the required vocabulary, replacing “Proposed in PR `#137`” with an explicit
active_pr status referencing PR `#137`; keep this status until protected
integration.
- Around line 60-64: Update the “Security and governance impact” section to
explicitly require an immutably pinned OpenCode Agent for autonomous
model-backed development, matching the requirement documented in docs/TRD.md.
Keep the existing credential and workflow-reference requirements unchanged, and
state agent pinning as mandatory for privileged automation.

In `@docs/API_CONTRACT.md`:
- Around line 67-81: Update the mutation contract in docs/API_CONTRACT.md lines
67-81 to require a maximum authorization age of 15 minutes, reject the expiry
boundary and clock inconsistencies, and fail closed on plan drift. Update the
FR-003 acceptance requirement in docs/PRD.md lines 92-99 with the same 15-minute
freshness limit and fail-closed conditions; both documented sites require direct
changes.
- Around line 65-81: Update the mutation contract in docs/API_CONTRACT.md lines
65-81 to define tenant-authority evidence as a separate gate when
destination_account_scope is "organization" or the canonical
organization-authority reason is used; require valid, known, correctly
formatted, non-contradictory proof and fail closed otherwise, while stating
personal-cloud approval does not require it. Update PRD-FR-006 in docs/PRD.md
lines 104-106 with the same evidence and authorization requirement. Update the
cloud technical contract state list in docs/TRD.md lines 71-86 to include
tenant-authority evidence and fail-closed handling, and state that Rust owns
security authorization validation and external observations cannot grant
authority.

In `@docs/PRD.md`:
- Around line 152-155: Update docs/PRD.md lines 152-155, docs/TRD.md lines
154-159, and docs/TRACEABILITY.md lines 63-78 to consistently define frontend
coverage and release-build binding: include all production TypeScript under
src/lib and src/routes, exact statement/branch/function/line thresholds, the
prohibition on exclusions for authority-bearing logic, the test command, the
Tauri release-build entry point, and evidence mapping. In TRD.md explicitly
state that both the test workflow and Tauri release build execute the same
production coverage gate; in TRACEABILITY.md map the actual globs, thresholds,
command, and workflow/build evidence.

In `@docs/TRACEABILITY.md`:
- Around line 99-113: Register docs/API_CONTRACT.md in the canonical
documentation graph: update docs/TRACEABILITY.md lines 99-113 with an
API/IPC/evidence contract row and its implementation and test paths; add
docs/API_CONTRACT.md to the coverage matrix in docs/DOCUMENTATION_ASSESSMENT.md
lines 13-32; and remove the corresponding future-gap entry at lines 83-94, or
document clearly why it is not canonical.

In `@docs/UML.md`:
- Around line 100-113: Update the VerifyInstall label in the Mermaid flowchart
to replace the ambiguous “sync” term with terminology that explicitly denotes
artifact file durability, such as “fsync” or “durable flush,” or race-safe
publication if that is the intended evidence. Keep the installation verification
scope limited to exact size, SHA-256, and the clarified artifact-level
operation.

---

Nitpick comments:
In `@src-tauri/tests/cloud_transfer_tenant_authority_gate.rs`:
- Around line 151-176: Extend
organization_signals_require_tenant_authority_even_without_ordinary_review with
an approved CloudReviewDecision containing an attested rationale for both
CloudAccountScope::Organization and ORGANIZATION_TENANT_AUTHORITY_REVIEW_REASON
cases. Assert that candidate_blockers_with_review does not contain
organization-tenant-authority-attestation-required, and validate the actual
receipt path as well if required by the surrounding APIs.
🪄 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: d4a863ec-80e5-42a6-a656-d0d01f7b9425

📥 Commits

Reviewing files that changed from the base of the PR and between 9cdf849 and ccaee33.

📒 Files selected for processing (22)
  • AGENTS.md
  • CHANGELOG.md
  • CLAUDE.md
  • SECURITY.md
  • docs/API_CONTRACT.md
  • docs/DATA_MODEL.md
  • docs/DOCUMENTATION_ASSESSMENT.md
  • docs/OPERABILITY.md
  • docs/PRD.md
  • docs/README.md
  • docs/TEST_STRATEGY.md
  • docs/THREAT_MODEL.md
  • docs/TRACEABILITY.md
  • docs/TRD.md
  • docs/UML.md
  • docs/adr/0001-local-first-runtime-authority.md
  • docs/adr/0002-evidence-authorization-separation.md
  • docs/adr/0003-exact-head-repository-evidence.md
  • docs/adr/0004-model-artifact-integrity.md
  • docs/adr/0005-central-control-plane-boundary.md
  • docs/adr/README.md
  • src-tauri/tests/cloud_transfer_tenant_authority_gate.rs

Comment thread CHANGELOG.md Outdated
Comment thread docs/adr/0002-evidence-authorization-separation.md Outdated
Comment thread docs/adr/0003-exact-head-repository-evidence.md Outdated

## Status

Proposed. The implementation is split across active PR #141 (installation integrity) and stacked PR #142 (load-time integrity); neither is protected-main authority until merged and revalidated.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

세 ADR의 활성 상태 표기를 저장소 지침에 맞추세요.

세 파일 모두 활성 제안인데 상태를 Proposed로 기록합니다. 보호된 통합 전에는 active 또는 planned를 사용해야 합니다.

  • docs/adr/0004-model-artifact-integrity.md#L5-L5: 상태를 active 또는 planned로 변경하세요.
  • docs/adr/0001-local-first-runtime-authority.md#L5-L5: 상태를 active 또는 planned로 변경하세요.
  • docs/adr/0002-evidence-authorization-separation.md#L5-L5: 상태를 active 또는 planned로 변경하세요.

As per coding guidelines: docs/adr/**: Keep active proposals labeled as active or planned until protected integration proves them.

📍 Affects 3 files
  • docs/adr/0004-model-artifact-integrity.md#L5-L5 (this comment)
  • docs/adr/0001-local-first-runtime-authority.md#L5-L5
  • docs/adr/0002-evidence-authorization-separation.md#L5-L5
🤖 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/0004-model-artifact-integrity.md` at line 5, Update the status on
line 5 of docs/adr/0004-model-artifact-integrity.md,
docs/adr/0001-local-first-runtime-authority.md, and
docs/adr/0002-evidence-authorization-separation.md from Proposed to either
active or planned, preserving the rest of each ADR content.

Source: Coding guidelines

Comment thread docs/adr/0004-model-artifact-integrity.md Outdated
Comment thread docs/API_CONTRACT.md Outdated
Comment thread docs/API_CONTRACT.md Outdated
Comment thread docs/PRD.md
Comment on lines +152 to +155
### Quality

Owned production code targets exact 100% statement and branch coverage and, where tooling exposes them, function and line coverage. Public APIs require beginner-readable documentation. Coverage exclusions cannot be used to hide production behavior that carries authority.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟠 Major | 🏗️ Heavy lift

Frontend coverage와 release-build binding을 세 문서에서 동일하게 구체화하세요.

현재 문구는 100% coverage와 configured gates를 요구하지만, PR objective의 정확한 범위와 실행 경로를 보장하지 않습니다. src/libsrc/routes의 모든 production TypeScript, 각 threshold, coverage exclusion 금지, test 명령, Tauri release-build entry point를 같은 계약으로 기록하세요.

  • docs/PRD.md#L152-L155: 제품 품질 요구사항에 정확한 경로와 threshold를 추가하세요.
  • docs/TRD.md#L154-L159: test workflow와 Tauri release-build가 동일한 production coverage gate를 실행한다고 명시하세요.
  • docs/TRACEABILITY.md#L63-L78: 실제 glob, threshold, command, workflow/build evidence를 매핑하세요.

코딩 가이드라인은 적용 가능한 production coverage를 완전하게 측정하고 authority-bearing production logic을 exclusion으로 숨기지 않도록 요구합니다.

📍 Affects 3 files
  • docs/PRD.md#L152-L155 (this comment)
  • docs/TRD.md#L154-L159
  • docs/TRACEABILITY.md#L63-L78
🤖 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/PRD.md` around lines 152 - 155, Update docs/PRD.md lines 152-155,
docs/TRD.md lines 154-159, and docs/TRACEABILITY.md lines 63-78 to consistently
define frontend coverage and release-build binding: include all production
TypeScript under src/lib and src/routes, exact statement/branch/function/line
thresholds, the prohibition on exclusions for authority-bearing logic, the test
command, the Tauri release-build entry point, and evidence mapping. In TRD.md
explicitly state that both the test workflow and Tauri release build execute the
same production coverage gate; in TRACEABILITY.md map the actual globs,
thresholds, command, and workflow/build evidence.

Source: Coding guidelines

Comment thread docs/TRACEABILITY.md
Comment on lines +99 to +113
## Documentation traceability

| Question | Authoritative document |
| --- | --- |
| What product/problem/outcomes are we building? | `docs/PRD.md` |
| What technical constraints and evidence semantics apply? | `docs/TRD.md` |
| Where are trust/deployment/authority boundaries? | `ARCHITECTURE.md` |
| Why were material architecture decisions made? | `docs/adr/` |
| How do components and state transitions interact? | `docs/UML.md` |
| What are the conceptual/persisted data entities? | `docs/DATA_MODEL.md` |
| What can attack the product and how is it mitigated? | `docs/THREAT_MODEL.md` and `SECURITY.md` |
| How is correctness proven? | `docs/TEST_STRATEGY.md` |
| How is the product operated/recovered/released? | `docs/OPERABILITY.md` |
| Are the documentation families complete and current? | `docs/DOCUMENTATION_ASSESSMENT.md` |
| What changed in an integrated/released version? | `CHANGELOG.md` |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟠 Major | 🏗️ Heavy lift

새 API contract를 canonical documentation graph에 포함하세요.

docs/API_CONTRACT.md는 이미 추가되었지만 traceability map과 assessment matrix가 이를 등록하지 않습니다. Assessment는 동일 contract를 미래 gap으로도 설명합니다.

  • docs/TRACEABILITY.md#L99-L113: API/IPC/evidence contract 행과 관련 구현·테스트 경로를 추가하세요.
  • docs/DOCUMENTATION_ASSESSMENT.md#L13-L32: coverage matrix에 docs/API_CONTRACT.md를 추가하세요.
  • docs/DOCUMENTATION_ASSESSMENT.md#L83-L94: 해당 future gap을 제거하거나, 현재 파일이 canonical contract가 아닌 명확한 이유를 기록하세요.

코딩 가이드라인은 material API, authority, schema 변경을 같은 PR의 canonical documentation과 docs/TRACEABILITY.md에 반영하도록 요구합니다.

📍 Affects 2 files
  • docs/TRACEABILITY.md#L99-L113 (this comment)
  • docs/DOCUMENTATION_ASSESSMENT.md#L13-L32
  • docs/DOCUMENTATION_ASSESSMENT.md#L83-L94
🤖 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/TRACEABILITY.md` around lines 99 - 113, Register docs/API_CONTRACT.md in
the canonical documentation graph: update docs/TRACEABILITY.md lines 99-113 with
an API/IPC/evidence contract row and its implementation and test paths; add
docs/API_CONTRACT.md to the coverage matrix in docs/DOCUMENTATION_ASSESSMENT.md
lines 13-32; and remove the corresponding future-gap entry at lines 83-94, or
document clearly why it is not canonical.

Source: Coding guidelines

Comment thread docs/UML.md
Comment on lines +100 to +113
```mermaid
flowchart TD
Spec[Immutable model specification]
Download[Bounded HTTPS stream]
Stage[Create-new staging file]
VerifyInstall[Exact size + SHA-256 + sync]
Publish[No-clobber publication]
Installed[Installed artifact]
VerifyLoad[Load-time non-following metadata + exact size + SHA-256]
Llama[llama.cpp initialization]

Spec --> Download --> Stage --> VerifyInstall --> Publish --> Installed
Spec --> VerifyLoad
Installed --> VerifyLoad --> Llama

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 | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== files =="
git ls-files | sed -n '1,200p'

echo "== docs UML relevant =="
if git ls-files | grep -qx docs/UML.md; then
  nl -ba docs/UML.md | sed -n '1,150p'
fi

echo "== search sync sync_evidence durable fsync model install =="
rg -n --hidden --glob '!target/**' --glob '!node_modules/**' \
  '\bsync_evidence\b|fsync|durable flush|sync proof|VerifyInstall|VerifyLoad|model specification|model integrity|model installation' .

Repository: ContextualWisdomLab/disksage

Length of output: 8257


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== docs/UML.md lines 1-140 =="
awk '{printf "%6d  %s\n", NR, $0}' docs/UML.md | sed -n '1,140p'

echo "== docs/TRD.md sync-related lines =="
awk '{printf "%6d  %s\n", NR, $0}' docs/TRD.md | rg -n "sync|evidence|provider|item|install|model|fsync|durable|install|VerifyInstall|VerifyLoad"

Repository: ContextualWisdomLab/disksage

Length of output: 14961


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== source docs relevant terms =="
rg -n --hidden --glob '!target/**' --glob '!node_modules/**' \
  '\bsync_evidence\b|sync proof|provider sync|item sync|fsync|durable flush|VerifyInstall|VerifyLoad|model installation|model integrity' .

echo "== rust fsync references if any =="
rg -n --hidden --glob '!target/**' --glob '!node_modules/**' \
  'fsync\(|StandardOpenOption::DURATION|DATASYNC|metadata().length|sha256|sha_256|VerifyInstall|VerifyLoad' .

Repository: ContextualWisdomLab/disksage

Length of output: 28202


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== DATA_MODEL.md sync_evidence section =="
awk '{printf "%6d  %s\n", NR, $0}' docs/DATA_MODEL.md | sed -n '1,220p'

echo "== llm.model implementation =="
awk '{printf "%6d  %s\n", NR, $0}' src-tauri/src/llm/model.rs | sed -n '1,120p'

echo "== docs evidence docs mentioning fsync/model artifact =="
rg -n --hidden --glob '!target/**' --glob '!node_modules/**' \
  '\bfsync\b|durable flush|flush|receipt|model artifact|installation integrity|race-safe|create_new|rename|VerifyInstall|VerifyLoad' docs src-tauri/src/llm src-tauri/src | sed -n '1,220p'

Repository: ContextualWisdomLab/disksage

Length of output: 46622


VerifyInstallsync 용어를 분리하세요.

sync_evidence는 storage provider/item synchronization evidence를 뜻하지만, 모델 설치 단계는 provider sync가 아니라 모델 artifact 파일의 내구화/race-safe publication 검증 단계입니다. 의도가 파일 내구화라면 fsync 또는 durable flush로, race-safe publication이라면 해당 term으로 변경해 evidence 범위를 명확히 하세요.

🤖 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/UML.md` around lines 100 - 113, Update the VerifyInstall label in the
Mermaid flowchart to replace the ambiguous “sync” term with terminology that
explicitly denotes artifact file durability, such as “fsync” or “durable flush,”
or race-safe publication if that is the intended evidence. Keep the installation
verification scope limited to exact size, SHA-256, and the clarified
artifact-level operation.

Copy link
Copy Markdown
Contributor Author

@opencode-agent

Implement the exact-current-head test-fixture repair on 2a2eeeca9447d6c79d89f49532df47748c05b284 only; refuse to write if the PR head has moved. Current Test run 31318359254 reaches the Rust suite and fails exactly six cloud_eviction::tests at src/cloud_eviction.rs:920 because valid_receipt() creates an organization-scoped OneDrive candidate/root and then calls the test-only prepare_cloud_copy(..., None), which now correctly fails closed with organization-tenant-authority-attestation-required. The production tenant-authority OR gate is intentional and must not be weakened.

These six tests exercise local source-eviction approval, staging, control-path, interruption, idempotency, and changed-source behavior; they are not organization-tenant-governance tests. Existing cloud_transfer generic transfer fixtures use CloudAccountScope::Personal to isolate non-tenant behavior, while separate tenant-authority truth-table tests cover Organization scope. Make the smallest test-only correction in src-tauri/src/cloud_eviction.rs: in tests::valid_receipt, change both candidate.destination_account_scope and root.account_scope from CloudAccountScope::Organization to CloudAccountScope::Personal. Change no production logic and no other behavior. Preserve the separate organization-tenant tests unchanged.

Run Rust formatting, the six previously failing cloud_eviction::tests, the complete Rust suite, and the repository coverage contract if available. Push only after the regression is GREEN. Do not touch workflows, credentials, review policy, documentation outside any strictly necessary current-head evidence update, or unrelated files.

@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: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/adr/0004-model-artifact-integrity.md (1)

36-50: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

모델 무결성 요구사항의 근거를 APA 7th 형식으로 기록하세요.

SHA-256, 파일 정체성 바인딩, fsync, TOCTOU 방지 요구사항은 보안에 중요한 기술 주장입니다. ADR 또는 연결된 doctoring 기록에 현재의 1차 표준 및 기술 문서 인용을 추가하세요. 코딩 가이드라인에 따라 중요한 문서 주장은 권위 있는 근거와 APA 7th 인용을 기록해야 합니다.

🤖 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/0004-model-artifact-integrity.md` around lines 36 - 50, Update ADR
0004’s integrity requirements with APA 7th citations to authoritative primary
standards and technical documentation supporting SHA-256, file identity binding,
fsync durability, and TOCTOU prevention. Add the references in the ADR or a
linked supporting record, and associate each security-critical claim with its
relevant source.

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 `@src/lib/architectureDocumentation.test.ts`:
- Line 189: Update the documentation contract assertion around
architectureDocumentation.test.ts so it checks a string that exists in the
canonical docs/DOCUMENTATION_ASSESSMENT.md, or add the expected “API / IPC /
evidence contract” entry to that assessment document. Preserve the existing
file-existence assertion.
- Around line 220-224: Update docs/API_CONTRACT.md to explicitly document the
fail-closed tenant-authority contract: reject missing, stale, invalid, or
contradictory tenant-authority evidence, consistent with the organization tenant
authorization goal. Ensure the wording includes “15 minutes”, “organization”,
and “fail closed” so the assertions in architectureDocumentation.test.ts pass.

---

Outside diff comments:
In `@docs/adr/0004-model-artifact-integrity.md`:
- Around line 36-50: Update ADR 0004’s integrity requirements with APA 7th
citations to authoritative primary standards and technical documentation
supporting SHA-256, file identity binding, fsync durability, and TOCTOU
prevention. Add the references in the ADR or a linked supporting record, and
associate each security-critical claim with its relevant source.
🪄 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: c7c92a79-1b85-4db8-9784-242d26da2628

📥 Commits

Reviewing files that changed from the base of the PR and between ccaee33 and f73ca4b.

📒 Files selected for processing (10)
  • docs/API_CONTRACT.md
  • docs/adr/0002-evidence-authorization-separation.md
  • docs/adr/0003-exact-head-repository-evidence.md
  • docs/adr/0004-model-artifact-integrity.md
  • docs/adr/0005-central-control-plane-boundary.md
  • src-tauri/src/cloud_eviction.rs
  • src-tauri/src/cloud_transfer.rs
  • src/lib/architectureDocumentation.test.ts
  • src/lib/cloudReviewQueue.authorization.test.ts
  • src/lib/cloudReviewQueue.ts
🚧 Files skipped from review as they are similar to previous changes (5)
  • src/lib/cloudReviewQueue.authorization.test.ts
  • docs/adr/0002-evidence-authorization-separation.md
  • docs/adr/0003-exact-head-repository-evidence.md
  • docs/adr/0005-central-control-plane-boundary.md
  • docs/API_CONTRACT.md

Comment thread src/lib/architectureDocumentation.test.ts
Comment thread src/lib/architectureDocumentation.test.ts

Copy link
Copy Markdown
Contributor Author

Superseded after current-main convergence revalidation. Exact stale head b7a5ce12da47ab555f36ab751423c09ddcd33378 is 93 commits ahead / 6 behind live protected main 7a86b3dae0c941bc59edfde146c9d7498a0c75a0 and remains non-mergeable. Its valuable deltas now have canonical owners: organization-tenant fail-closed source/docs/tests were integrated by merged #148; obsolete branch-local repair-writer removal is integrated on protected main via #153; canonical acquisition documentation plus the remaining doc-review concerns are owned by #149; exact production coverage/Test workflow ownership is #152; release-version/provenance/package admission ownership is #154. The extra broad cloudReviewQueue.test.ts coverage-only additions are intentionally not copied from this stale branch: tenant-authority behavior is protected by the dedicated merged #148 regressions, while generic uncovered production behavior is now driven from current-main exact diagnostics in #152 rather than predecessor-base test padding. No check, review, approval, or unresolved-thread evidence from #137 transfers to those lines. Closing this broad branch preserves lineage without retaining a competing documentation/coverage/release authority.

Copy link
Copy Markdown
Contributor Author

@opencode-agent fix

Continue the autonomous merge loop on the exact live state of PR #137. Refetch the current head SHA, current main tip SHA, review submissions and reviewed SHAs, unresolved threads, branch protection/rulesets, required check runs/statuses, workflow jobs/steps/logs, and current writer evidence before any mutation.

For every failed, missing, cancelled, skipped-required, queued-too-long, or stale check: perform RCA, identify the primary and at least one alternative hypothesis, define falsifying evidence, generate materially distinct remedies, apply the realism gate (authority, capability, exact target, effective outcome, policy, operational/scientific feasibility, reversibility, dependency order, verification), then execute the smallest safe execute_now remedy test-first. Do not treat waiting as completion; while exact-head Checks or independent reviews run, continue one non-conflicting bounded DiskSage buyer-visible slice or the next open PR.

Preserve these product contracts:

  • standalone DiskSage operation plus modular integration with central .github, naruon, and other CWL services;
  • read-only evidence collection unless a separately approved destructive workflow exists;
  • no unverified logical candidate may be presented as physically reclaimed bytes;
  • no raw local paths, Podman machine names, graph roots, image identifiers, tenant/account identifiers, credentials, or unbounded stderr in telemetry, analytics, support bundles, comments, or shared logs;
  • Rust production arithmetic and bounded CPU multithreading; GPU only with measured material benefit and CPU/GPU parity;
  • 100% production statement/branch coverage and beginner-readable public Rustdoc/docstrings;
  • real-world tests, immutable action/dependency pins, APA 7 doctoring, ADR/architecture/threat-model/operability/traceability/CHANGELOG updates as required;
  • NVIDIA_NIM_API_KEY only for LLM tests/agents and no COPILOT_GITHUB_TOKEN.

After each repair, rerun only the repository-supported exact-current-head mechanism and verify that the intended required job and step actually executed. Resolve only addressed current-head threads. Merge or enable auto-merge only when the live policy, independent approval, security gates, and all exact-head required checks are satisfied. Then immediately refetch the PR queue and continue.

Copy link
Copy Markdown
Contributor Author

@coderabbitai review
@cwl-noema-review

Review only the exact current head after all repair commits. Verify the buyer-visible behavior, read-only/privacy boundaries, logical-versus-verified physical reclaim wording, stable reason codes, bounded subprocess behavior, Rust/TypeScript contracts, real-world tests, 100% production coverage/docstrings, packaging, and absence of unrelated drift. Do not reuse predecessor-head reviews or checks.

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

@seonghobae I will review only the exact current head. I will not reuse predecessor-head evidence or modify the branch.

⚠️ Action not completed

Pull request is closed.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown
Contributor Author

@opencode-agent address

Continue the existing PR branch. Refetch exact current head/base, formal reviews, unresolved threads, commit statuses, workflow runs, security gates, and every required GitHub Check; fix all valid current-head defects directly and keep working while central prerequisites run.

After central .github#799 exact-head scanner binding reaches protected main, rerun Security Scan, Trivy, Scorecard, CodeQL, Semgrep, Secret Scan, OSV and SBOM at the literal contributor head with correct refs/pull/<number>/head and exact-head SARIF attribution. Never reuse the earlier synthetic-merge-ref evidence. Preserve least privilege, realistic disk-analysis fixtures and expected-result tests, Python 3.14, 100% production statement/branch coverage and public docstrings, APA 7 doctoring, and CHANGELOG/version discipline. Use NVIDIA NIM, never COPILOT_GITHUB_TOKEN.

Do not open a competing PR, create temporary branch writers, synthesize approval, or bypass protection. Merge only after all exact-head checks pass, actionable threads are zero, and a qualifying non-author approval exists.

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.

2 participants