diff --git a/README.md b/README.md index db21c65d..c651f717 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ installation, and readiness claims separate. Release 7.0.8 carries runtime `5.0.9`. A request whose effort is below an action's required floor is now raised to the lowest admitted class instead of failing before any provider starts, and the raised effort is reported in the -terminal result when it happens. An unsupported explicitly named provider now +terminal result when it happens. An unsupported explicitly named logical agent now reports a distinct, stable reason instead of a generic failure. The coordinator now repairs a small class of request-construction mistakes @@ -149,8 +149,10 @@ automatic replay or retry. The public client verifies fixed plugin-relative path, exact membership and digests, Mach-O architecture/minimum macOS, hardened Developer ID identity, team, and secure timestamp. Online notarization verification remains a release -gate. One accepted request launches one process group with bounded streams, -deadline, TERM/KILL/reap, and no hidden replay. +gate. For each accepted request, the verified native-runtime invocation is +isolated in one process group with bounded streams, deadline enforcement, +TERM/KILL/reap, and no hidden replay. Provider-native sessions are owned inside +that runtime boundary, not directly by the public client. ## Migration status diff --git a/changelog.d/2026-10-11-001-architecture-source-audit.md b/changelog.d/2026-10-11-001-architecture-source-audit.md new file mode 100644 index 00000000..ae4ad22a --- /dev/null +++ b/changelog.d/2026-10-11-001-architecture-source-audit.md @@ -0,0 +1,5 @@ +### Documentation + +- Audit all public architecture pages and the README; clarify logical-agent + targeting, native-runtime process ownership, and the limits of package-README + version checking without changing the immutable release-time reference. diff --git a/docs/architecture/README.md b/docs/architecture/README.md index 518bb0bc..897eca69 100644 --- a/docs/architecture/README.md +++ b/docs/architecture/README.md @@ -39,6 +39,10 @@ Historical and design material is indexed separately in [`docs/design/README.md`](../design/README.md). It is not automatically the current runtime contract. +The [2026-10-10 source audit](source-audit-2026-10-10.md) records whole-handbook +coverage and current-document corrections without changing the tagged package +or claiming new installation or qualification evidence. + ## Status vocabulary | Label | Meaning | Appropriate evidence | diff --git a/docs/architecture/repository-and-release.md b/docs/architecture/repository-and-release.md index 02e63d85..ce29ad4b 100644 --- a/docs/architecture/repository-and-release.md +++ b/docs/architecture/repository-and-release.md @@ -178,6 +178,15 @@ are: 7. **Governance:** compliance-trace schema, tier rules, CODEOWNERS, required checks, signed commits, and resolved review threads. +The README version guard has a narrower scope than the documentation review: +`check_release_consistency.py` enforces the root README summary and exactly one +latest-release showcase. Its optional legacy package-README marker is absent +from the current package reference, so that regex check is not evidence of +package-README alignment. The package reference remains an immutable +release-time archive member; verify it against the exact tag/archive instead. +Handbook prose still requires source and release-evidence review, not just a +passing version guard. + ## History-scan scope The public-export history check scans refs available in the local clone. A diff --git a/docs/architecture/source-audit-2026-10-10.md b/docs/architecture/source-audit-2026-10-10.md new file mode 100644 index 00000000..56ab0604 --- /dev/null +++ b/docs/architecture/source-audit-2026-10-10.md @@ -0,0 +1,52 @@ +# Architecture source audit — 2026-10-10 + +This descriptive audit uses public repository baseline +`86b883aac18346992e3665e136714e05d7b8726c`. It is not a new release, +installation, host readiness check, or provider qualification. The published +7.0.8 tag and archive retain their original identities. + +## Findings and corrections + +The manifest, current handbook, and dated release evidence agree on package +7.0.8, runtime 5.0.9, manifest schema 4, protocol 5, native contract 4, wire 12, +two macOS architectures, twelve logical actions, and eight logical agents. +The existing capability map covers 53 generated skills. These are package +inventory claims, not proof that every provider is available on a host. + +The refresh corrects the root README's description of an explicitly targeted +logical agent and clarifies that the public client's process group owns the +verified native-runtime invocation. Provider-native sessions remain inside the +runtime boundary. It also corrects comments that overstated package-README +version enforcement: the current immutable package reference has no legacy +`Current` marker, so the optional regex check does not validate its narrative. +Exact tag/archive comparison and human review remain separate evidence. + +There is still exactly one root README latest-release showcase. Earlier release +history remains in the generated changelog. No generated skills, runtime +artifacts, manifests, package versions, signed tags, or executable logic change +in this audit. The package README is intentionally unchanged: postpublication +clarifications belong in current repository docs, not the release-time snapshot. + +## Coverage + +All nine pre-existing handbook pages and the root README were inspected. +Read-only Terra research returned distilled findings; the primary retained +edits, sanitization, verification, and merge decisions. Such same-family +research is not independent-family approval. + +| Surface | Public source/evidence | Disposition | +| --- | --- | --- | +| Index and system context | Manifest, runtime client, package reference, export policy | One-package and public/private boundaries remain current. | +| Capabilities/workflows | `skill-specs/`, generated skills, skill-runtime contract tests | Capability map and primary-executed versus managed work remain distinct. | +| Project estimation | Receipt-bound data inventory and maintenance validator/tests | Bootstrap evidence is not promoted calibration or unrestricted private history. | +| Governance/authority | Public governance, review skill, independence tests | Candidate selection and response-correlated independent approval remain distinct. | +| Lifecycle/operations | Migration doctor, runtime client, lifecycle tests | Installation, selection, fresh loading, readiness, and live completion remain separate. | +| Repository/release | Generators, importer, release workflow, consistency checker/tests | Latest-only showcase remains enforced; optional package-marker coverage clarified. | +| Status/evidence | Manifest and dated tag, release, and installation records | Existing qualification limits and immutable snapshots retained. | +| Claude participation | Signed action inventory and participation contract | Only managed document intent is admitted; resident and async roles remain separate. | +| Root README | Manifest, distribution-contract tests, release checker | Logical-agent terminology and runtime-process ownership corrected. | + +Validation and any review outcomes are recorded in the audit PR. Neither green +source tests nor this audit replace the exact-artifact and host evidence owned +by the [status page](status-and-evidence.md). The final release closeout remains +the last release step; its source/evidence review is broader than a version grep. diff --git a/scripts/check_release_consistency.py b/scripts/check_release_consistency.py index 7b3d32bc..c723cd51 100644 --- a/scripts/check_release_consistency.py +++ b/scripts/check_release_consistency.py @@ -13,7 +13,12 @@ changelog fragment mentions each bumped entry - README.md "**** (vX.Y.Z)" summary line for each and "## What's new - vX.Y.Z" heading - - plugins//README.md "Current: **X.Y.Z**" in the Version section + - plugins//README.md optional legacy "Current: **X.Y.Z**" marker; + absent markers are not validated here + +The current package README has no legacy Current marker. It is an immutable +release-time snapshot verified separately against its tag/archive; this script +does not assert its current repository narrative or validate handbook prose. Modes (combinable): (default) consistency check across the files above @@ -542,7 +547,9 @@ def run_consistency(root: Path) -> tuple[bool, list[str]]: except Exception: pass - # 5. Check each plugin's README.md Current: **X.Y.Z** version + # 5. Compare a legacy package-README Current marker only when present. + # The current immutable release-time README has no such marker; exact + # tag/archive identity is a separate evidence check, not this regex gate. if m_text is not None: try: m_data = json.loads(m_text)