Skip to content

docs: establish authoritative automation control-plane specifications - #896

Open
seonghobae wants to merge 55 commits into
mainfrom
docs/automation-control-plane-specs-20260809
Open

docs: establish authoritative automation control-plane specifications#896
seonghobae wants to merge 55 commits into
mainfrom
docs/automation-control-plane-specs-20260809

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Outcome

The prior documentation was not sufficient as a durable automation-control-plane baseline: product requirements, technical interfaces, authority boundaries, logical evidence relationships, operations, security, standards, whole-conversation ownership, and decisions were fragmented across workflow prose, dated rollout ledgers, PR bodies, incident notes, prompts, and planning material.

This PR establishes one authoritative, indexed documentation graph and converts remaining runtime/product drift into explicit traceability debt rather than leaving documentation-family gaps implicit.

Scope

  • canonical PRD, TRD, versioned event/result contracts, Architecture, logical ERD/data model, UML, Security, Threat Model plus autonomy-threat addendum, Test Strategy, Operability, incident and continuation runbooks, executable operator runbook, Traceability, and whole-conversation documentation fitness audit;
  • 16 complete ADRs covering writer leases, exact-head/live-base identity, bounded retries, secret contracts, independent review authority, protected-main acceptance, work conservation/no-soft-timeout semantics, central/thin-consumer boundaries, sandbox redaction, mention idempotency, provider isolation, immutable toolchains, autofix/merge separation, trusted dispatch, direct_or_auto, and fail-closed gate composition;
  • versioned/legacy-aware event contracts for review-agent invocations, merge-scheduler dispatch/results, sandbox results, reusable workflow interfaces, replay/idempotency, strict parsing, migration and rollback without pretending documentation has already upgraded legacy runtime paths;
  • separate checks, statuses, reviews, model output, workflow/dependency/security/SBOM/sandbox evidence authorities;
  • PR source_revision separated from PR-base snapshot, independently resolved live-base identity, and protected merge_revision; operational acceptance attaches only to the integrated revision;
  • explicit conceptual/logical ERD with no invented deployed database, including remediation_candidate, continuation_handoff, documentation_artifact, and traceability_record;
  • explicit premature-termination/false-quiescence and split-brain-authority threats, bounded defer/wait/retry reason codes, cwl.automation-continuation/v1 handoff receipt, and double-fresh-exit semantics;
  • controlled maturity states: implemented_on_protected_main, active_pr, accepted_architecture, planned, research_only, superseded, out_of_scope;
  • whole-conversation central-versus-leaf ownership audit: product-specific TEPP/psychometrics, OriginWeave, EmbedRelay, MHTML ETL, LifeOS, BandScope, Inkspan, pg-erd-cloud, naruon, AppGuardrail and other leaf semantics remain in their owning repositories; this repository owns only shared automation/interfaces;
  • discoverable docs/doctoring/README.md reference authority plus current standards doctoring, including SLSA 1.2, ISO/IEC/IEEE 42010:2022, current final ISO/IEC/IEEE 29148:2018 versus Edition 3 DIS as informative draft, ISO/IEC 25010:2023, final NIST SSDF 1.1 versus the v1.2 initial public draft, ISO/IEC 27001/27002/42001, GitHub secure-use/OIDC, OpenTelemetry, SOC 2 evidence boundaries and conditional CSAP readiness;
  • documentation contract tests for required/indexed files, ADR templates, links/fences, controlled maturity, whole-conversation ownership, no-soft-timeout/double-exit semantics, logical remediation/continuation/documentation entities, autonomy-threat/reason-code contracts, event-version discipline, standards freshness, and discoverable doctoring authority;
  • permanent Automation Documentation Quality CI on documentation/workflow/source/test changes, checking out the exact event revision and running the full repository suite with a 100% coverage gate;
  • editable FigJam companion board linked from UML as supplemental visualization only; Git-tracked Mermaid/contracts remain canonical.

Exact current integration identity

  • current base branch: main;
  • protected base at PR creation: 6eb06cdd08c79a06f7b390069d4ffa49e2eb7dba (historical provenance only; merge decisions must resolve the live base tip independently);
  • exact current head: 8344fe42514457143b93ee2ef9cf19d00dec7b33;
  • state: Ready for exact-head independent review; all 11 exact-head pull-request workflows succeeded; automated source review and a qualifying independent non-author formal approval remain required, and predecessor-head evidence is historical;
  • every check/review/body claim anchored to an earlier head is historical.

Documentation-fitness judgment

For the central automation/control-plane scope, every required documentation family is classified ADEQUATE on this active_pr baseline: PRD, TRD/event contracts, Architecture, UML, conceptual ERD/Data Model, Security/Threat Model, Test Strategy, Operability/Runbooks, ADR set, Traceability, and current standards/doctoring authority.

That judgment is narrower than “the software is complete.” ADEQUATE means the intended central contract is represented coherently enough for review and machine fitness checks; implementation/runtime gaps retain their own maturity state and evidence requirements. Product PRDs and domain models remain leaf-owned rather than duplicated centrally.

The whole-conversation audit treats conversation/planning material as candidate evidence until revalidated. ADR-0007, AUTONOMY_THREATS.md, CONTINUATION_RUNBOOK.md, and the hourly automation prompt make prompt/docs/status/review/dispatch/Draft/Ready/auto-merge/commit/merge intermediate events, treat waits as local, and require a second fresh all-lanes-nonactionable sweep rather than a soft elapsed-time stop.

This PR is still active_pr, not implemented_on_protected_main.

Verification boundary

Exact-head Automation Documentation Quality CI run 31321656195 checked out 8344fe42514457143b93ee2ef9cf19d00dec7b33 and completed successfully: 1000 passed, 16 subtests passed; 6978/6978 statements and 2790/2790 branches at 100%; test compilation also succeeded. All 11 exact-head pull-request workflows succeeded. Predecessor-head, skipped, or unrelated evidence is non-authorizing, and current automated source review plus a qualifying independent non-author formal approval remain separate required authorities.

CodeRabbit's predecessor-head source analysis found no source-backed actionable documentation defect at aed69a1f2051ae10fde3e39cf7a1957d94233676. It is now historical and was a conversation comment, not a formal approval. Current-head automated review and a qualifying independent non-author formal approval remain separate authorities.

Require current automated review, zero valid unresolved findings, a qualifying independent non-author formal approval, and branch protection before merge. After protected merge, refetch the canonical index from protected main before changing the baseline maturity to implemented_on_protected_main.

Remaining explicit product/control-plane debt (not documentation-family omissions)

Risk and rollback

This PR changes documentation, documentation contract tests, and stale workflow comments; it does not intentionally change workflow execution logic, permissions, rulesets, reviewer authority, or product data. Rollback is a normal protected revert. Runtime changes described as active_pr, accepted_architecture, planned, or otherwise non-implemented are not shipped claims until traceability and protected-main evidence exist.

@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@seonghobae, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 5 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 08997669-3f81-475e-b78c-1000c67c8c5b

📥 Commits

Reviewing files that changed from the base of the PR and between 6eb06cd and 8344fe4.

📒 Files selected for processing (55)
  • .github/workflows/automation-documentation-quality-ci.yml
  • .github/workflows/pr-review-merge-scheduler.yml
  • .github/workflows/strix.yml
  • AGENTS.md
  • ARCHITECTURE.md
  • CHANGELOG.md
  • CLAUDE.md
  • PR_GOVERNANCE_AUDIT.md
  • README.md
  • docs/CWL-MASTER-CONTEXT.md
  • docs/automation/ARCHITECTURE.md
  • docs/automation/AUTONOMY_THREATS.md
  • docs/automation/CONTINUATION_RUNBOOK.md
  • docs/automation/DATA_MODEL.md
  • docs/automation/DOCUMENTATION_AUDIT.md
  • docs/automation/ERD.md
  • docs/automation/EVENT_CONTRACTS.md
  • docs/automation/INCIDENT_RUNBOOK.md
  • docs/automation/OPERABILITY.md
  • docs/automation/PRD.md
  • docs/automation/README.md
  • docs/automation/RUNBOOK.md
  • docs/automation/SECURITY.md
  • docs/automation/TEST_STRATEGY.md
  • docs/automation/THREAT_MODEL.md
  • docs/automation/TRACEABILITY.md
  • docs/automation/TRD.md
  • docs/automation/UML.md
  • docs/automation/adr/0001-branch-writer-leases-and-read-only-audit.md
  • docs/automation/adr/0002-exact-source-and-live-base-binding.md
  • docs/automation/adr/0003-classified-bounded-retries.md
  • docs/automation/adr/0004-explicit-secret-contracts.md
  • docs/automation/adr/0005-independent-review-authority.md
  • docs/automation/adr/0006-protected-main-operational-acceptance.md
  • docs/automation/adr/0007-work-conserving-maintenance.md
  • docs/automation/adr/0008-central-control-plane-and-thin-consumers.md
  • docs/automation/adr/0009-sandbox-evidence-redaction-boundary.md
  • docs/automation/adr/0010-agent-mention-routing-and-idempotency-ledger.md
  • docs/automation/adr/0011-provider-routing-and-credential-isolation.md
  • docs/automation/adr/0012-hash-pinned-toolchains-and-exact-base-materialization.md
  • docs/automation/adr/0013-autofix-and-merge-authority-separation.md
  • docs/automation/adr/0014-trusted-metadata-event-and-default-branch-dispatch.md
  • docs/automation/adr/0015-direct-or-auto-merge-state-machine.md
  • docs/automation/adr/0016-fail-closed-security-gate-composition.md
  • docs/automation/adr/README.md
  • docs/automation/review-agent-comment-invocation.md
  • docs/doctoring/README.md
  • docs/doctoring/automation-control-plane-standards.md
  • docs/nvidia-nim-opencode-hotfix.md
  • docs/org-required-workflow-rollout.md
  • docs/sbom/inventory.md
  • docs/scorecard-governance.md
  • tests/test_automation_doctoring_index_contract.py
  • tests/test_automation_documentation_contract.py
  • tests/test_pr_governance_audit_contract.py
✨ 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/automation-control-plane-specs-20260809

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.

Copy link
Copy Markdown
Contributor Author

Canonical-documentation consolidation review on exact head 9a86fa909e5bb7d3b907165b320e192045f11217: this branch is materially broader than concurrent #886 (45 files, explicit root Architecture/ERD/operator Runbook, 16 full ADRs, concrete dispatch/workflow/result interfaces, current standards doctoring). Prefer one canonical documentation line rather than merging competing baselines. Before treating #896 as the survivor, absorb the useful whole-conversation/continuation contracts already captured on #886 and close the remaining gaps below; then #886 can be preserved and closed as superseded instead of merged in parallel.

Required delta on this existing branch, after refetching both live heads:

  1. Whole-conversation reconciliation audit. Add or retain one discoverable documentation-fitness audit that explicitly classifies central-control-plane durable decisions versus leaf-owned product designs from the CWL conversation/planning material. Product-specific TEPP/fast-mlsirm, OriginWeave, EmbedRelay, MHTML ETL, LifeOS, BandScope, Inkspan, pg-erd-cloud, naruon/AppGuardrail etc. remain in their owning repositories; central docs store only shared automation/interfaces. Candidate chat/prompt/PR-body evidence is not canonical until revalidated.
  2. Controlled maturity vocabulary. Reconcile the stronger docs(automation): establish canonical control-plane architecture baseline #886 status discipline into the canonical graph: distinguish implemented_on_protected_main, active_pr, accepted_architecture, planned, research_only, superseded, and out_of_scope (or provide an explicitly mapped equivalent). Do not let accepted baseline imply runtime implementation.
  3. Continuation/no-soft-timeout rule. ADR-0007 already says merge/dispatch/completed document/reviewer wait is not completion. Make prompt update, documentation assessment/update, Draft/Ready changes, auto-merge enablement, and status reporting explicit intermediate events too; hourly recurrence is continuation after real execution-budget exhaustion, not a soft wall-clock timeout. Require a double fresh exit sweep.
  4. Logical ERD completeness. Add explicit conceptual entities/relationships for remediation_candidate, continuation_handoff, documentation_artifact, and traceability_record (or document precise aliases) so RCA remedy comparison, same-invocation continuation, document fitness, and decision→evidence mapping are first-class without inventing persistence.
  5. Current standards baseline. docs/doctoring/automation-control-plane-standards.md correctly has SLSA 1.2, ISO/IEC/IEEE 42010:2022 and final-vs-draft SSDF handling. Add ISO/IEC/IEEE 29148:2018 as the current final requirements-engineering baseline and ISO/IEC 25010:2023 as the current product-quality model. If the 2026 ISO/IEC/IEEE 29148 Edition 3 DIS is mentioned, label it draft/non-normative. Keep APA 7 traceability.
  6. Extend the documentation contract tests for the audit/index, maturity vocabulary/mapping, the four conceptual entities or aliases, the explicit intermediate-event/no-soft-timeout invariant, and standards freshness. Do not merely add strings to satisfy tests; bind them to the authoritative PRD/TRD/Architecture/Data Model/UML/ADR/Traceability surfaces.

After those are exact-head green, request current automated review. Do not merge both #886 and #896; preserve one canonical history and close the other only after verifying no unique accepted decision was dropped.

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@cwl-noema-review @opencode-agent Review only exact current head 9aca5fb08e1f35ca042c052eb995670c9df9abe8. Evaluate the canonical automation documentation graph as active_pr, not shipped runtime truth: whole-conversation central-versus-leaf ownership, controlled maturity states, PRD/TRD/Architecture/UML/logical ERD completeness, the remediation/continuation/documentation/traceability entities, exact-head/live-base/evidence-authority boundaries, ADR-0007 no-soft-timeout and double-exit semantics, current standards final-vs-draft discipline, local link/diagram integrity, and machine documentation contracts. Product-specific TEPP/OriginWeave/EmbedRelay/MHTML/LifeOS/BandScope/etc. semantics must remain leaf-owned. Do not mutate, merge, retarget, synthesize implementation claims, or alter credentials/rulesets.

@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

@seonghobae I will review only exact head 9aca5fb08e1f35ca042c052eb995670c9df9abe8.

I will evaluate the requested documentation graph and its machine contracts as active_pr. I will not mutate, merge, retarget, create runtime implementation claims, or alter credentials or rulesets.

⚠️ 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

@coderabbitai review

@cwl-noema-review @opencode-agent Review only exact current head 5e7d703f20443bc5ab5347317a692c102c4fa007. Evaluate the canonical automation documentation graph strictly as active_pr: every required document family is now internally classified ADEQUATE, but runtime/product debt retains separate maturity/evidence. Verify whole-conversation central-versus-leaf ownership, controlled seven-state maturity, exact source-head/PR-base/live-base/merge-revision separation, evidence-authority separation, the conceptual remediation/continuation/documentation/traceability ERD, ADR-0007 no-soft-timeout/meta-intermediate/double-exit contract, UML writer-rotation and documentation-continuation flows, supplemental-only FigJam linkage, current final-vs-draft standards discipline, local links/fences, and documentation machine contracts. Do not mutate, merge, retarget, synthesize protected-main implementation claims, or alter rulesets/credentials.

@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

@seonghobae I will review only exact head 5e7d703f20443bc5ab5347317a692c102c4fa007.

I will evaluate the documentation graph as active_pr. I will check the specified authority, maturity, identity, ERD, ADR, UML, standards, link, fence, and contract-test requirements. I will not mutate, merge, retarget, create protected-main implementation claims, or change rulesets or credentials.

⚠️ 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

@coderabbitai review

@cwl-noema-review @opencode-agent Review only exact current head aed69a1f2051ae10fde3e39cf7a1957d94233676 and do not mutate, merge, retarget, or change rulesets/credentials. Treat the documentation graph as active_pr, not protected-main runtime truth. Verify PRD/TRD/versioned event contracts, Architecture, UML, conceptual ERD/Data Model, Security/Threat Model, ADRs, operability/runbooks, traceability, controlled maturity, central-versus-leaf ownership, exact source-head/live-base/merge-revision and evidence-authority separation, same-invocation continuation/double-exit semantics, the exact workflow secret registry with declared mapping debt, #888 redaction lineage, IG-001..008 live-object maturity, and the permanent documentation full-suite/100%-coverage CI. The exact-head documentation run is https://github.com/ContextualWisdomLab/.github/actions/runs/31317912843. Report source-backed actionable findings only.

@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

Rate Limit Exceeded

@seonghobae have exceeded the limit for the number of chat messages per hour. Please wait 5 minutes and 54 seconds before sending another message.

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

Review only exact current head aed69a1f2051ae10fde3e39cf7a1957d94233676. The exact-head hosted documentation CI and all 11 pull-request workflows are now successful. Treat the documentation baseline as active_pr, keep runtime gaps at their documented maturity, and report source-backed actionable findings only. Do not mutate, merge, retarget, or change credentials/rulesets.

@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

expected_head="aed69a1f2051ae10fde3e39cf7a1957d94233676"
printf '%s\n' '== Checked-out commit =='
git rev-parse HEAD
git status --short
printf '%s\n' '== Commit match =='
test "$(git rev-parse HEAD)" = "$expected_head" && echo "MATCH" || echo "MISMATCH"

printf '%s\n' '== PR metadata =='
gh pr view 896 --repo ContextualWisdomLab/.github \
  --json number,state,baseRefName,headRefOid,mergeable,reviewDecision,statusCheckRollup \
  --jq '{number,state,baseRefName,headRefOid,mergeable,reviewDecision,statusCheckRollup}'

printf '%s\n' '== Exact-head check runs =='
gh api "repos/ContextualWisdomLab/.github/commits/${expected_head}/check-runs?per_page=100" \
  --jq '.check_runs[] | [.name,.status,.conclusion,.details_url] | `@tsv`' || true

printf '%s\n' '== Exact-head legacy statuses =='
gh api "repos/ContextualWisdomLab/.github/commits/${expected_head}/status" \
  --jq '.statuses[]? | [.context,.state,.target_url] | `@tsv`' || true

printf '%s\n' '== Changed files =='
gh pr view 896 --repo ContextualWisdomLab/.github --json files \
  --jq '.files[].path'

printf '%s\n' '== Candidate canonical documents, tests, and workflows =='
fd -t f . docs .github tests 2>/dev/null \
  | rg -i '(README|PRD|TRD|ARCHITECTURE|UML|ERD|DATA.MODEL|SECURITY|THREAT|TRACEABILITY|OPERAB|RUNBOOK|CONTINUATION|ADR|CONTRACT|DOCTOR|DOCUMENT|QUALITY|WORKFLOW)' \
  | sort

printf '%s\n' '== Relevant authoritative-document evidence =='
rg -n -i -C 2 \
  'implemented_on_protected_main|active_pr|accepted_architecture|research_only|out_of_scope|remediation_candidate|continuation_handoff|documentation_artifact|traceability_record|double.fresh|double.exit|no.soft.timeout|source_revision|live.base|merge_revision|FigJam|ISO/IEC/IEEE 29148:2018|ISO/IEC 25010:2023|SLSA 1\.2|SSDF' \
  docs .github tests 2>/dev/null || true

printf '%s\n' '== Documentation CI and coverage workflow evidence =='
rg -n -i -C 3 \
  'Automation Documentation Quality CI|100%|coverage|checkout|github\.sha|event.*sha|documentation' \
  .github/workflows 2>/dev/null || true

Length of output: 202554


🏁 Script executed:

#!/bin/bash
set -euo pipefail

head_sha="aed69a1f2051ae10fde3e39cf7a1957d94233676"

echo "== Exact commit identity =="
printf 'checked_out='
git rev-parse HEAD
printf 'expected=%s\n' "$head_sha"
printf 'match='
if test "$(git rev-parse HEAD)" = "$head_sha"; then echo yes; else echo no; fi

echo "== Pull request state =="
gh pr view 896 --repo ContextualWisdomLab/.github \
  --json state,headRefOid,baseRefOid,mergeable,reviewDecision \
  --jq '{state,headRefOid,baseRefOid,mergeable,reviewDecision}'

echo "== Exact-head checks: non-success states =="
gh api "repos/ContextualWisdomLab/.github/commits/${head_sha}/check-runs?per_page=100" \
  --jq '[.check_runs[] | select(.status != "completed" or (.conclusion != "success" and .conclusion != "neutral" and .conclusion != "skipped")) | {name,status,conclusion,details_url}]'
echo "== Exact-head checks: counts by conclusion =="
gh api "repos/ContextualWisdomLab/.github/commits/${head_sha}/check-runs?per_page=100" \
  --jq '[.check_runs[].conclusion] | sort | group_by(.) | map({conclusion: .[0], count: length})'
echo "== Exact-head legacy-status failures =="
gh api "repos/ContextualWisdomLab/.github/commits/${head_sha}/status" \
  --jq '[.statuses[]? | select(.state != "success") | {context,state,target_url}]'

echo "== Canonical documentation candidates =="
fd -t f -i 'README.md' docs 2>/dev/null | sort
fd -t f . docs 2>/dev/null \
  | rg -i '/(prd|trd|architecture|uml|erd|data.model|security|threat|traceability|operability|runbook|continuation|adr|audit|standards)' \
  | sort

echo "== Documentation contract test candidates =="
fd -t f . tests 2>/dev/null | rg -i '(document|documentation|contract|doctor)' | sort

echo "== Canonical document headings =="
for f in $(fd -t f -e md docs 2>/dev/null | rg -i '/(prd|trd|architecture|uml|erd|data.model|security|threat|traceability|operability|runbook|continuation|audit|standards|adr-0007)' | sort); do
  echo "--- $f"
  rg -n '^#{1,3} ' "$f" | head -n 50
done

echo "== Requested contract terms in documentation and tests =="
rg -l -i \
  'implemented_on_protected_main|remediation_candidate|continuation_handoff|documentation_artifact|traceability_record|no.soft.timeout|double.*(exit|sweep)|source_revision|merge_revision|ISO/IEC/IEEE 29148:2018|ISO/IEC 25010:2023' \
  docs tests 2>/dev/null | sort | while read -r f; do
    echo "--- $f"
    rg -n -i \
      'implemented_on_protected_main|active_pr|accepted_architecture|planned|research_only|superseded|out_of_scope|remediation_candidate|continuation_handoff|documentation_artifact|traceability_record|no.soft.timeout|double.*(exit|sweep)|source_revision|live.base|merge_revision|ISO/IEC/IEEE 29148:2018|ISO/IEC 25010:2023' \
      "$f" | head -n 80
  done

Length of output: 53603


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Documentation quality workflow candidates =="
fd -t f -e yml -e yaml .github/workflows | while read -r f; do
  if rg -q -i 'automation documentation quality|test_automation_documentation_contract|documentation.*contract|full repository suite|coverage.*100|fail-under=100' "$f"; then
    echo "$f"
  fi
done

echo "== Documentation quality workflow focused content =="
fd -t f -e yml -e yaml .github/workflows | while read -r f; do
  if rg -q -i 'automation documentation quality|test_automation_documentation_contract|documentation.*contract' "$f"; then
    echo "--- $f"
    rg -n -i -C 3 \
      'name:|pull_request:|paths:|checkout|head\.sha|github\.sha|pytest|test_automation_documentation_contract|coverage|fail-under' \
      "$f"
  fi
done

echo "== Focused documentation contract assertions =="
sed -n '1,360p' tests/test_automation_documentation_contract.py

echo "== Static Markdown link and fence validation under docs/automation =="
python3 - <<'PY'
from pathlib import Path
import re

root = Path.cwd()
docs = root / "docs" / "automation"
errors = []
for path in sorted(docs.rglob("*.md")):
    text = path.read_text(encoding="utf-8")
    if text.count("```") % 2:
        errors.append(f"unbalanced fence: {path.relative_to(root)}")
    for raw in re.findall(r'(?<!!)\[[^\]]*\]\(([^)\s]+)(?:\s+"[^"]*")?\)', text):
        target = raw.split("#", 1)[0]
        if not target or "://" in target or target.startswith("mailto:") or target.startswith("#"):
            continue
        candidate = (path.parent / target).resolve()
        if not candidate.exists():
            errors.append(f"missing link target: {path.relative_to(root)} -> {raw}")
if errors:
    print("\n".join(errors))
    raise SystemExit(1)
print("PASS: Markdown fences are balanced and local relative link targets exist.")
PY

echo "== Exact-head check state, refreshed =="
head_sha="aed69a1f2051ae10fde3e39cf7a1957d94233676"
gh api "repos/ContextualWisdomLab/.github/commits/${head_sha}/check-runs?per_page=100" \
  --jq '[.check_runs[] | select(.status != "completed" or (.conclusion != "success" and .conclusion != "neutral" and .conclusion != "skipped")) | {name,status,conclusion,details_url}]'

Length of output: 2956


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Documentation quality workflow candidates =="
fd -t f -e yml -e yaml . .github/workflows | while read -r f; do
  if rg -q -i 'automation documentation quality|test_automation_documentation_contract|documentation.*contract|full repository suite|coverage.*100|fail-under=100' "$f"; then
    echo "$f"
  fi
done

echo "== Documentation quality workflow focused content =="
fd -t f -e yml -e yaml . .github/workflows | while read -r f; do
  if rg -q -i 'automation documentation quality|test_automation_documentation_contract|documentation.*contract' "$f"; then
    echo "--- $f"
    rg -n -i -C 3 \
      'name:|pull_request:|paths:|checkout|head\.sha|github\.sha|pytest|test_automation_documentation_contract|coverage|fail-under' \
      "$f"
  fi
done

echo "== Focused documentation contract assertions =="
sed -n '1,360p' tests/test_automation_documentation_contract.py

echo "== Static Markdown link and fence validation under docs/automation =="
python3 - <<'PY'
from pathlib import Path
import re

root = Path.cwd()
docs = root / "docs" / "automation"
errors = []
for path in sorted(docs.rglob("*.md")):
    text = path.read_text(encoding="utf-8")
    if text.count("```") % 2:
        errors.append(f"unbalanced fence: {path.relative_to(root)}")
    for raw in re.findall(r'(?<!!)\[[^\]]*\]\(([^)\s]+)(?:\s+"[^"]*")?\)', text):
        target = raw.split("#", 1)[0]
        if not target or "://" in target or target.startswith("mailto:") or target.startswith("#"):
            continue
        candidate = (path.parent / target).resolve()
        if not candidate.exists():
            errors.append(f"missing link target: {path.relative_to(root)} -> {raw}")
if errors:
    print("\n".join(errors))
    raise SystemExit(1)
print("PASS: Markdown fences are balanced and local relative link targets exist.")
PY

echo "== Exact-head check state, refreshed =="
head_sha="aed69a1f2051ae10fde3e39cf7a1957d94233676"
gh api "repos/ContextualWisdomLab/.github/commits/${head_sha}/check-runs?per_page=100" \
  --jq '[.check_runs[] | select(.status != "completed" or (.conclusion != "success" and .conclusion != "neutral" and .conclusion != "skipped")) | {name,status,conclusion,details_url}]'

Length of output: 130806


@seonghobae Review completed for exact head aed69a1f2051ae10fde3e39cf7a1957d94233676.

I found no source-backed actionable defect in the reviewed documentation graph.

The checked-out commit matches the PR head. The documentation index, controlled maturity states, central-versus-leaf ownership audit, revision and evidence authority model, continuation contract, conceptual ERD entities, ADR set, standards baseline, and documentation contract tests are present. Local Markdown fences are balanced. Local relative links resolve.

.github/workflows/automation-documentation-quality-ci.yml checks out the exact event revision and runs the full repository suite with a 100% coverage gate.

Current acceptance evidence is incomplete. The exact-head opencode-review check is still queued. The exact-head strix check is still in_progress. Therefore, I cannot treat all workflows as successful or approve this PR yet.

You are interacting with an AI system.

Copy link
Copy Markdown
Contributor Author

Exact-head documentation review requested: d096d6ddd3b8dca502b8ab56bf113f9b6030e8a2.

This head preserves the already-audited documentation baseline and updates only the redaction lineage/contract: #888 is closed-unmerged superseded evidence, Draft #906 is the current active_pr, and residual wrapper/JSON work is durably linked to #907/#908. The documentation contract now requires both historical and active lineage.

@cwl-noema-review @opencode-agent Please review this exact head. Its 11 Actions workflows are currently queued/in progress, so predecessor success and pending checks are not acceptance. A model comment/check/status is also not a qualifying independent formal approval.

seonghobae commented Aug 9, 2026

Copy link
Copy Markdown
Contributor Author

Exact-head documentation review requested: 8344fe42514457143b93ee2ef9cf19d00dec7b33.

The continuation handoff sink/acknowledgement contract is aligned across the enabled hourly automation prompt, docs/automation/CONTINUATION_RUNBOOK.md, and its machine-checkable documentation contract.

Automation Documentation Quality CI run 31321656195 checked out this exact head and completed successfully: 1000 passed, 16 subtests passed; 6978/6978 statements and 2790/2790 branches at 100%; test compilation also succeeded. All 11 exact-head pull-request workflows completed successfully.

@cwl-noema-review @opencode-agent Please review only this exact current head. Do not carry forward predecessor-head evidence, mutate the branch, merge, retarget, or change rulesets. A current automated source review and a qualifying independent non-author formal approval remain separate required authorities.

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