docs: establish canonical product architecture and evidence model - #105
docs: establish canonical product architecture and evidence model#105seonghobae wants to merge 57 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughContextual Orchestrator의 현재 아키텍처, 운영·보안 정책, 제품 요구사항, ADR, 추적성 문서를 추가했습니다. 문서 상태와 제품 명칭을 갱신하고, 문서 구조·Mermaid·링크·증거 상태를 검증하는 계약 테스트를 추가했습니다. Changes문서 권위와 제품 범위
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related issues
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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. Comment |
|
@coderabbitai review Review exact current head |
|
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 8
🤖 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/0005-sync-batch-pg-llm-batch.md`:
- Around line 27-30: 두 ADR의 prompt-safe usage ledger 계약이 일관되지 않으므로, 모든 모드의
writer와 export 경로가 동일한 필수 계약을 따르도록 정렬하십시오.
docs/adr/0005-sync-batch-pg-llm-batch.md:27-30에서는 sync, batch retrieval,
passthrough, route streaming의 ledger row 및 evidence status 요구사항과
unknown/not_recorded 상태 및 cost comparison 제외 규칙을 명시하십시오.
docs/adr/0006-honest-cost-and-benchmark-evidence.md:24-31 및 62-66에서는 일곱
attribution dimension의 필드명·필수성·누락 규칙과 모든 writer/export 경로를 검증하는 mode별 완전성 테스트
요구사항을 추가하십시오. cost_router.py의 record_usage 호출 및 각 export 경로가 이 통합 계약을 충족하도록 구현과
문서를 검증하십시오.
In `@docs/ERD.md`:
- Around line 121-132: Update the WORKFLOW_STEP self-relationship in the ERD to
model access directionally: represent the consuming step pointing to the
previously authorized producer step, or introduce ACCESS_GRANT with explicit
consumer and producer step identifiers. Ensure producer_step_id is constrained
to reference only an earlier step and no longer imply bidirectional visibility.
In `@docs/i18n_design.md`:
- Around line 33-35: Update the dependency wording in the paragraph about
i18next and React-admin to use “planned adoption candidates” rather than
implying existing optional package extras. Preserve the statement that they
apply only to a separately built web client and do not own the current inline
admin call path; only document an actual extra name and ownership scope if such
an extra is confirmed to exist.
In `@docs/papers/README.md`:
- Line 11: Update the Hybrid LLM entry and its corresponding item in
docs/REFERENCES.md to link the licensing evidence to
https://arxiv.org/abs/2404.14618 or the applicable license URL, while retaining
the OpenReview URL as the paper source.
In `@docs/PRD.md`:
- Line 82: Align the coverage contract with ADR-0016 by adding function and line
coverage requirements alongside statement and branch coverage in PRD-010 at
docs/PRD.md lines 82-82, and apply the same function/line criteria to NFR-003 at
docs/TRD.md lines 50-55; keep both documents consistent with the ADR.
In `@docs/README.md`:
- Around line 33-41: Update docs/README.md lines 33-41 so every authority’s
State column uses only the defined state vocabulary; move non-state descriptions
such as “mixed, per ADR,” “dated audit,” and “repository policy” into the
appropriate separate description field. In tests/test_documentation_contract.py
lines 309-315, extend the canonical-set contract test to parse each State value
and reject any value outside the defined vocabulary.
In `@docs/UML.md`:
- Around line 139-142: Update the permanent caller/provider error branch in the
UML flow to terminate immediately without retrying or transitioning to Fallback.
Separate caller validation errors, transient failures, and explicitly permitted
provider failures into distinct branches, while preserving failover only for the
allowed provider-failure path and aligning the permanent-error behavior with the
architecture’s fail-fast contract.
- Around line 260-266: Update the UML dependency flow so credential lookup is
owned by a provider adapter: add a provider adapter node, replace the direct
policy --> kv edge with policy --> provider_adapter --> kv, and preserve the
existing policy orchestration connections.
🪄 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: 1173db1e-2c96-4809-8425-b74c24d3eefd
⛔ Files ignored due to path filters (4)
docs/papers/frugalgpt-cost-2305.05176.pdfis excluded by!**/*.pdfdocs/papers/fuzzing-art-science-engineering-manes-2019.pdfis excluded by!**/*.pdfdocs/papers/hybrid-llm-query-routing-2404.14618.pdfis excluded by!**/*.pdfdocs/papers/routellm-routing-2406.18665.pdfis excluded by!**/*.pdf
📒 Files selected for processing (48)
AGENTS.mdARCHITECTURE.mdCHANGELOG.mdCLAUDE.mdREADME.mdSECURITY.mdconductor/tech-stack.mdconductor/workflow.mddocs/ERD.mddocs/INCIDENT_RUNBOOK.mddocs/OPERABILITY.mddocs/PRD.mddocs/README.mddocs/REFERENCES.mddocs/RELEASE_GUIDE.mddocs/TEST_STRATEGY.mddocs/THREAT_MODEL.mddocs/TRACEABILITY.mddocs/TRD.mddocs/UML.mddocs/adr/0001-route-conduct-test-time-compute.mddocs/adr/0002-provider-neutral-transport-trust.mddocs/adr/0003-workflow-access-and-reasoning-control.mddocs/adr/0004-kv-credential-bootstrap.mddocs/adr/0005-sync-batch-pg-llm-batch.mddocs/adr/0006-honest-cost-and-benchmark-evidence.mddocs/adr/0007-free-first-fallback.mddocs/adr/0008-state-persistence-and-retention.mddocs/adr/0009-purpose-bound-pii-protection.mddocs/adr/0010-independent-review-and-evidence.mddocs/adr/0011-release-coverage-and-provenance.mddocs/adr/0012-standalone-and-cwl-boundary.mddocs/adr/0013-database-naming-and-migration.mddocs/adr/0014-scientific-computation-ownership.mddocs/adr/0015-provider-egress-response-trust.mddocs/adr/0016-complete-coverage-docstrings.mddocs/adr/README.mddocs/analytics_spec.mddocs/architecture.mddocs/fuzzing.mddocs/i18n_design.mddocs/library_research.mddocs/papers/README.mddocs/product_planning.mddocs/rest_api_design.mdtests/test_documentation_contract.pytests/test_plugin_driven_artifacts.pytests/test_repository_security_metadata.py
|
@opencode-agent @cwl-noema-review Review exact current contributor head |
|
Addressed the valid current-head CodeRabbit finding from comment 5261787836 in exact head |
|
@opencode-agent @cwl-noema-review Review exact current contributor head |
|
@coderabbitai full review Review exact current contributor head This bounded delta adds the indexed 2026-08-12 continuation evidence appendix, preserves the 2026-08-11 audit as immutable history, and adds a machine-checkable latest-appendix contract. Test-first RED produced four focused failures; exact-head Tests Verify live-state accuracy and implemented/active/planned discipline; exact-head versus integration-evidence classification; required evidence-index discoverability; local-link and Markdown integrity; central read-only authority; and that no active PR, model review, certification, release, or protected-main acceptance is overstated. Report only current-head actionable findings. Do not treat any automated/model review as qualifying independent human approval. |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
head="5e1505d500db0106961293404b4ab146024c9ae5"
base="3703d0da9823b8258a0be94f1801aa5d61bfad9f"
repo="ContextualWisdomLab/contextual-orchestrator"
printf '%s\n' '== Exact revision verification =='
printf 'checked_out='; git rev-parse HEAD
printf 'head='; git rev-parse "$head"
printf 'base='; git rev-parse "$base"
git merge-base --is-ancestor "$base" "$head"
printf '%s\n' 'base_is_ancestor=true'
git diff --check "$base" "$head"
printf '%s\n' '== Exact-range changes =='
git diff --name-status "$base" "$head"
git log --format='%H %s' --reverse "$base..$head"
printf '%s\n' '== Delta from reviewed predecessor =='
git diff --name-status 5543d1b493ceb9dbac485e10347820929d6bee92 "$head" || true
git diff --unified=70 5543d1b493ceb9dbac485e10347820929d6bee92 "$head" -- \
docs/evidence tests/test_documentation_contract.py docs/README.md docs/TRACEABILITY.md
printf '%s\n' '== Candidate file map =='
fd -t f . docs/evidence docs tests 2>/dev/null | sort | sed -n '1,240p'
ast-grep outline tests/test_documentation_contract.py --items all
printf '%s\n' '== Evidence and contract references =='
rg -n -C 12 \
'2026-08-11|2026-08-12|continuation|appendix|latest|evidence index|evidence/|integration|exact-head|protected.main|approval|certif|model review|active_pr|implemented_on_protected_main|planned|read-only|central' \
docs/evidence docs/README.md docs/TRACEABILITY.md tests/test_documentation_contract.py AGENTS.md CLAUDE.md 2>/dev/null || true
printf '%s\n' '== Changed evidence and index files with line numbers =='
for path in $(git diff --name-only "$base" "$head" -- '*.md' | grep -E '(^docs/evidence/|^docs/README\.md$|^docs/TRACEABILITY\.md$)' || true); do
printf '\n-- %s --\n' "$path"
nl -ba "$path"
done
printf '%s\n' '== Markdown-local-link inspection for changed Markdown files =='
python3 - <<'PY'
import pathlib
import re
import subprocess
from urllib.parse import unquote
base = "3703d0da9823b8258a0be94f1801aa5d61bfad9f"
head = "5e1505d500db0106961293404b4ab146024c9ae5"
changed = subprocess.check_output(
["git", "diff", "--name-only", base, head, "--", "*.md"], text=True
).splitlines()
pattern = re.compile(r'(?<!!)\[[^\]]*\]\(([^)\s]+)(?:\s+["\'][^)]*["\'])?\)')
broken = []
for name in changed:
path = pathlib.Path(name)
for line_no, line in enumerate(path.read_text(encoding="utf-8").splitlines(), 1):
for target in pattern.findall(line):
if target.startswith(("#", "http://", "https://", "mailto:")):
continue
target_path = target.split("#", 1)[0]
if target_path and not (path.parent / unquote(target_path)).resolve().exists():
broken.append(f"{name}:{line_no}: {target}")
print("\n".join(broken) if broken else "PASS: no broken local Markdown targets in changed Markdown files.")
PY
printf '%s\n' '== Changed Markdown byte integrity =='
python3 - <<'PY'
import pathlib
import re
import subprocess
base = "3703d0da9823b8258a0be94f1801aa5d61bfad9f"
head = "5e1505d500db0106961293404b4ab146024c9ae5"
changed = subprocess.check_output(
["git", "diff", "--name-only", base, head, "--", "*.md"], text=True
).splitlines()
bad = []
for name in changed:
data = pathlib.Path(name).read_bytes()
trailing = [str(n) for n, line in enumerate(data.splitlines(), 1)
if re.search(rb"[ \t]+$", line)]
if trailing or data.endswith(b"\n\n"):
bad.append(f"{name}: trailing_lines={','.join(trailing) or '-'} final_blank_line={data.endswith(b'\\n\\n')}")
print("\n".join(bad) if bad else "PASS: no changed Markdown trailing whitespace or final blank line.")
PY
printf '%s\n' '== Live PR state; informational only =='
gh pr view 105 --repo "$repo" \
--json number,headRefOid,baseRefOid,state,isDraft,mergeStateStatus,reviewDecision,statusCheckRollup,reviews \
2>&1 || true
printf '%s\n' '== Open PR inventory; compare against documentation only =='
gh pr list --repo "$repo" --state open --limit 100 \
--json number,isDraft,headRefOid,baseRefOid,mergeStateStatus \
2>&1 || trueLength of output: 151755 🏁 Script executed: #!/bin/bash
set -euo pipefail
head="5e1505d500db0106961293404b4ab146024c9ae5"
prior="5543d1b493ceb9dbac485e10347820929d6bee92"
base="3703d0da9823b8258a0be94f1801aa5d61bfad9f"
repo="ContextualWisdomLab/contextual-orchestrator"
printf '%s\n' '== Identity relationship =='
git merge-base --is-ancestor "$prior" "$head" && echo 'prior_is_ancestor=true'
git merge-base "$prior" "$head"
git log --format='%H %P %s' -n 3 "$head"
printf '%s\n' '-- PR `#105` row and identity qualification --'
grep -n -C 5 -E '^\| `#105` |pre-write|post-write|current-head|historical|latest' \
docs/evidence/2026-08-12-continuation-audit.md docs/evidence/README.md
printf '%s\n' '== Changed Markdown local links =='
python3 - <<'PY'
import pathlib
import re
import subprocess
from urllib.parse import unquote
base = "3703d0da9823b8258a0be94f1801aa5d61bfad9f"
head = "5e1505d500db0106961293404b4ab146024c9ae5"
files = subprocess.check_output(
["git", "diff", "--name-only", base, head, "--", "*.md"], text=True
).splitlines()
pattern = re.compile(r'(?<!!)\[[^\]]*\]\(([^)\s]+)(?:\s+["\'][^)]*["\'])?\)')
broken = []
for name in files:
path = pathlib.Path(name)
for line_number, line in enumerate(path.read_text(encoding="utf-8").splitlines(), 1):
for target in pattern.findall(line):
if target.startswith(("#", "http://", "https://", "mailto:")):
continue
destination = target.split("#", 1)[0]
if destination and not (path.parent / unquote(destination)).resolve().exists():
broken.append(f"{name}:{line_number}: {target}")
print("\n".join(broken) if broken else "PASS")
PY
printf '%s\n' '== Changed Markdown byte integrity =='
python3 - <<'PY'
import pathlib
import re
import subprocess
base = "3703d0da9823b8258a0be94f1801aa5d61bfad9f"
head = "5e1505d500db0106961293404b4ab146024c9ae5"
files = subprocess.check_output(
["git", "diff", "--name-only", base, head, "--", "*.md"], text=True
).splitlines()
violations = []
for name in files:
data = pathlib.Path(name).read_bytes()
trailing = [str(i) for i, line in enumerate(data.splitlines(), 1)
if re.search(rb"[ \t]+$", line)]
if trailing or data.endswith(b"\n\n"):
violations.append(
f"{name}: trailing_lines={','.join(trailing) or '-'} final_blank_line={data.endswith(b'\\n\\n')}"
)
print("\n".join(violations) if violations else "PASS")
PY
printf '%s\n' '== Contract coverage for PR `#105` pre-write semantics =='
grep -n -C 6 -E 'LATEST_EVIDENCE_APPENDIX|latest|pre-write|post-write|`#105`|5543d1b' \
tests/test_documentation_contract.py
printf '%s\n' '== Live PR `#105` metadata; not approval evidence =='
gh pr view 105 --repo "$repo" \
--json number,headRefOid,baseRefOid,state,isDraft,mergeStateStatus,reviewDecision,statusCheckRollup,reviews \
2>&1 || true
printf '%s\n' '== Live open PR numbers; compare only =='
gh pr list --repo "$repo" --state open --limit 100 --json number,isDraft,headRefOid \
2>&1 || trueLength of output: 10832 🏁 Script executed: #!/bin/bash
set -euo pipefail
base="3703d0da9823b8258a0be94f1801aa5d61bfad9f"
head="5e1505d500db0106961293404b4ab146024c9ae5"
repo="ContextualWisdomLab/contextual-orchestrator"
printf '%s\n' '== Diff integrity =='
git diff --check "$base" "$head"
printf '%s\n' '== Changed Markdown byte integrity =='
python3 - <<'PY'
import pathlib
import re
import subprocess
base = "3703d0da9823b8258a0be94f1801aa5d61bfad9f"
head = "5e1505d500db0106961293404b4ab146024c9ae5"
files = subprocess.check_output(
["git", "diff", "--name-only", base, head, "--", "*.md"], text=True
).splitlines()
violations = []
for name in files:
data = pathlib.Path(name).read_bytes()
trailing = [
str(line_number)
for line_number, line in enumerate(data.splitlines(), 1)
if re.search(rb"[ \t]+$", line)
]
final_blank_line = data.endswith(b"\n\n")
if trailing or final_blank_line:
violations.append(
"{}: trailing_lines={} final_blank_line={}".format(
name, ",".join(trailing) or "-", final_blank_line
)
)
print("\n".join(violations) if violations else "PASS")
PY
printf '%s\n' '== Live PR `#105` metadata; informational only =='
gh pr view 105 --repo "$repo" \
--json number,headRefOid,baseRefOid,state,isDraft,mergeStateStatus,reviewDecision,statusCheckRollup,reviews \
2>&1 || true
printf '%s\n' '== Live open PR inventory; informational only =='
gh pr list --repo "$repo" --state open --limit 100 --json number,isDraft,headRefOid \
2>&1 || trueLength of output: 12848
The continuation appendix does not state that its PR Add an explicit pre-write rule for the appendix’s own PR I verified the requested head and base. Live GitHub state shows that PR You are interacting with an AI system. |
|
Addressed the current-head CodeRabbit finding from comment 5263151274 test-first in The documentation contract first failed RED because the appendix lacked a mutation-resistant identity statement. The repair now states that PR #105 is a pre-write snapshot, publishing advances the branch, and the recorded row must not be treated as current-head evidence after publication. The focused documentation suite passes 30 tests; the full local suite passes 598 tests with 100% production statement/branch and public-docstring coverage. Exact-head hosted Tests, Security, and Fuzz are queued and are not yet promoted to success. |
|
Exact-head deterministic gates are now complete on @coderabbitai full review Please review only the unchanged current head. Automated/model review is evidence but is not substituted for the required eligible independent non-author approval. |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
head="b62cc165b6c585cf4e03deca3d1236c630db64ef"
base="3703d0da9823b8258a0be94f1801aa5d61bfad9f"
prior="5e1505d500db0106961293404b4ab146024c9ae5"
repo="ContextualWisdomLab/contextual-orchestrator"
printf '%s\n' '== Exact revision verification =='
printf 'checked_out='; git rev-parse HEAD
printf 'head='; git rev-parse "$head"
printf 'base='; git rev-parse "$base"
git merge-base --is-ancestor "$base" "$head"
printf '%s\n' 'base_is_ancestor=true'
git merge-base --is-ancestor "$prior" "$head"
printf '%s\n' 'prior_is_ancestor=true'
printf '%s\n' '== Exact range integrity =='
git diff --check "$base" "$head"
git diff --name-status "$base" "$head"
git log --format='%H %s' --reverse "$base..$head"
printf '%s\n' '== Delta since previously reviewed head =='
git diff --name-status "$prior" "$head"
git diff --unified=100 "$prior" "$head" -- \
docs/evidence/2026-08-12-continuation-audit.md \
docs/evidence/README.md \
tests/test_documentation_contract.py
printf '%s\n' '== Relevant source maps =='
ast-grep outline tests/test_documentation_contract.py --items all
printf '%s\n' '== Evidence identity and contract semantics =='
rg -n -C 18 \
'pre-write|post-write|publishing|advances the branch|current-head|current head|not.*current|`#105`|latest.*appendix|continuation|identity|mutation' \
docs/evidence/2026-08-12-continuation-audit.md \
docs/evidence/README.md \
tests/test_documentation_contract.py
printf '%s\n' '== Local Markdown link and byte integrity for changed Markdown =='
python3 - <<'PY'
import pathlib
import re
import subprocess
from urllib.parse import unquote
base = "3703d0da9823b8258a0be94f1801aa5d61bfad9f"
head = "b62cc165b6c585cf4e03deca3d1236c630db64ef"
names = subprocess.check_output(
["git", "diff", "--name-only", base, head, "--", "*.md"], text=True
).splitlines()
pattern = re.compile(r'(?<!!)\[[^\]]*\]\(([^)\s]+)(?:\s+["\'][^)]*["\'])?\)')
broken, byte_violations = [], []
for name in names:
path = pathlib.Path(name)
data = path.read_bytes()
trailing = [str(i) for i, line in enumerate(data.splitlines(), 1)
if re.search(rb"[ \t]+$", line)]
if trailing or data.endswith(b"\n\n"):
byte_violations.append(
f"{name}: trailing={','.join(trailing) or '-'} final_blank={data.endswith(b'\\n\\n')}"
)
for line_number, line in enumerate(path.read_text(encoding="utf-8").splitlines(), 1):
for target in pattern.findall(line):
if target.startswith(("#", "http://", "https://", "mailto:")):
continue
destination = target.split("#", 1)[0]
if destination and not (path.parent / unquote(destination)).resolve().exists():
broken.append(f"{name}:{line_number}: {target}")
print("broken_links=" + ("; ".join(broken) if broken else "none"))
print("byte_violations=" + ("; ".join(byte_violations) if byte_violations else "none"))
PY
printf '%s\n' '== Exact-head workflow runs =='
gh run view 31570694025 --repo "$repo" --json databaseId,headSha,status,conclusion,jobs 2>&1 || true
gh run view 31570694022 --repo "$repo" --json databaseId,headSha,status,conclusion,jobs 2>&1 || true
gh run view 31570693969 --repo "$repo" --json databaseId,headSha,status,conclusion,jobs 2>&1 || true
printf '%s\n' '== Live PR state; informational and not approval evidence =='
gh pr view 105 --repo "$repo" \
--json number,headRefOid,baseRefOid,state,isDraft,mergeStateStatus,reviewDecision,reviews,statusCheckRollup \
2>&1 || trueLength of output: 78363 🏁 Script executed: #!/bin/bash
set -euo pipefail
head="b62cc165b6c585cf4e03deca3d1236c630db64ef"
base="3703d0da9823b8258a0be94f1801aa5d61bfad9f"
repo="ContextualWisdomLab/contextual-orchestrator"
printf '%s\n' '== Exact range whitespace diagnostics =='
git diff --check "$base" "$head"
printf '%s\n' '== Changed Markdown local links and byte integrity =='
python3 - <<'PY'
import pathlib
import re
import subprocess
from urllib.parse import unquote
base = "3703d0da9823b8258a0be94f1801aa5d61bfad9f"
head = "b62cc165b6c585cf4e03deca3d1236c630db64ef"
names = subprocess.check_output(
["git", "diff", "--name-only", base, head, "--", "*.md"], text=True
).splitlines()
pattern = re.compile(r'(?<!!)\[[^\]]*\]\(([^)\s]+)(?:\s+["\'][^)]*["\'])?\)')
broken = []
byte_violations = []
for name in names:
path = pathlib.Path(name)
data = path.read_bytes()
trailing = [
str(i)
for i, line in enumerate(data.splitlines(), 1)
if re.search(rb"[ \t]+$", line)
]
final_blank = data.endswith(b"\n\n")
if trailing or final_blank:
byte_violations.append(
"{}: trailing={} final_blank={}".format(
name, ",".join(trailing) if trailing else "-", final_blank
)
)
for line_number, line in enumerate(path.read_text(encoding="utf-8").splitlines(), 1):
for target in pattern.findall(line):
if target.startswith(("#", "http://", "https://", "mailto:")):
continue
destination = target.split("#", 1)[0]
if destination and not (path.parent / unquote(destination)).resolve().exists():
broken.append("{}:{}: {}".format(name, line_number, target))
print("broken_links=" + ("; ".join(broken) if broken else "none"))
print("byte_violations=" + ("; ".join(byte_violations) if byte_violations else "none"))
PY
printf '%s\n' '== Exact-head workflow runs =='
for run_id in 31570694025 31570694022 31570693969; do
gh run view "$run_id" --repo "$repo" \
--json databaseId,headSha,status,conclusion,jobs \
--jq '{databaseId, headSha, status, conclusion, jobs: [.jobs[] | {name, status, conclusion}]}' \
2>&1 || true
done
printf '%s\n' '== Live PR state; informational and not approval evidence =='
gh pr view 105 --repo "$repo" \
--json number,headRefOid,baseRefOid,state,isDraft,mergeStateStatus,reviewDecision,reviews,statusCheckRollup \
2>&1 || trueLength of output: 13124
I found no current-head actionable defect in the reviewed scope. The prior snapshot-identity finding is addressed. The requested base and the prior reviewed head are ancestors of the reviewed head. Tests You are interacting with an AI system. |
* test(security): require coordinated disclosure lifecycle * docs(security): define disclosure lifecycle and support boundary * docs(doctoring): record disclosure standards evidence * docs(doctoring): clarify advisory collaboration evidence * test(security): match reporter-credit policy wording * test(docs): bind SSDF draft authorship evidence * docs(security): correct SSDF draft authorship citation * test(docs): carry canonical changelog contract * docs: carry canonical changelog entry * docs(security): fail closed disclosure policy evidence * test: enforce private reporting release gate
test_reopened_nim_scaffold_is_superseded_without_false_closed_state correctly flags any TRACEABILITY.md line that mentions PR #115 (open, reopened, classified superseded) alongside "closed-unmerged" wording that actually describes predecessor PR #90's status, not #115's. Split the two facts onto lines that don't co-occur: the #86 backlog table row and prose paragraph now state PR #90's closed-unmerged predecessor status separately from PR #115's open/superseded status. No factual claim changes, only which physical line each claim sits on.
|
Superseded: 98% file overlap (53/54) with #120 (canonical doc suite rebuild) and #113 (security disclosure lifecycle + repository security metadata test), both already open and green. The one remaining unique file ( |
Status: canonical documentation stack — Draft on the #96 security line
This PR is the single documentation implementation authority for the product, technical, data, security, operability, governance, release, and acquisition-review graph. It does not claim certification, production readiness, independent approval, or that active-PR behavior has shipped.
Exact identity
fix/atheris-interpreter-lockc7d72824e5ecfc1086dfaad893709fede3175f27docs/canonical-product-architecture2d93ee367f51eaa6874deed63c582533826c92bfThe branch contains a normal refresh onto the current #96 line. Every check, review, status, approval, and synthetic merge from another head/base pair is historical.
Canonical scope
ARCHITECTURE.mdand indexeddocs/README.md;Latest test-first reconciliation
63bcad6a51f79fa944332a6bdfff7f514116947e— RED contract requiring closed duplicate documentation PRs docs(security): coordinated disclosure lifecycle on main #113/docs: rebuild canonical product architecture on protected main #120 to be recorded assupersededwhile open partial PRs feat: price-aware live model routing + admin KV credential endpoint #111/fix(commercial): fail-closed release authorization (exact-head evidence) #112/feat: race equivalent model_group endpoints (issue #102) #114/fix(security): healthz/readyz split, inbound framing, trace authority #121 remainactive_prbut explicitly non-complete. Against the predecessor exact blobs, the contract exposed four intended failures: docs(security): coordinated disclosure lifecycle on main #113 and docs: rebuild canonical product architecture on protected main #120 were absent, and fix(security): healthz/readyz split, inbound framing, trace authority #121 was falsely classified as closed-unmerged rather than open partial work.2d93ee367f51eaa6874deed63c582533826c92bf— GREEN canonical reconciliation across Architecture, PRD, TRD, and Traceability. It records:supersededNIM scaffold rather than issue [Product Gap] Evidence-grade NVIDIA NIM model discovery and cost-quality benchmark #86 authority; andThe exact GREEN blobs satisfy the new status predicates when evaluated against the canonical status lines. A local GitHub clone could not be used because the execution environment could not resolve
github.com; that network failure is not test evidence. Hosted current-head workflows remain the acceptance authority.Current exact-head evidence
For contributor head
2d93ee367f51eaa6874deed63c582533826c92bf:31598248199: queued;31598248174: queued;31598248113: queued.Queued work is not success. Predecessor-head results do not transfer.
Review and merge boundary
COMMENTEDfeedback, not an approval;Keep this PR Draft. After #96 reaches protected main, reconcile this graph onto the exact integrated result, regenerate every exact-head documentation, functional, security, fuzz, coverage/docstring, package/SBOM, and review gate, obtain zero valid unresolved findings plus qualifying independent approval, then merge through repository protection and run protected-main documentation/operational acceptance.