From 37db256fb9ee2b77d458d2ac2cc2c6cc3b557f20 Mon Sep 17 00:00:00 2001 From: snapsynapse <57973674+snapsynapse@users.noreply.github.com> Date: Mon, 7 Sep 2026 18:58:45 -0600 Subject: [PATCH 1/2] Finalize GuideCheck 2.0.0 release metadata --- ADOPTION.md | 13 +++--- CHANGELOG.md | 7 +-- CLAUDE.md | 14 +++--- INTENT.md | 10 ++-- PROJECT_CONTEXT.md | 10 ++-- README.md | 17 ++++--- RELEASE_NOTES-2.0.0.md | 9 ++-- docs/index.html | 20 ++++---- docs/llms.txt | 8 ++-- docs/release-2.0.0.md | 39 +++++++--------- docs/verify/index.html | 12 ++--- operator-guide.md | 9 ++-- profiles/2.0.0/spec.md | 4 +- profiles/2.0.0/verifier-conformance.md | 6 +-- roadmap.md | 10 ++-- schemas/README.md | 4 +- scripts/check_version_sync.py | 63 +++++++++++++------------- scripts/guidecheck_constants.py | 6 +-- scripts/test_hosted_api.py | 2 +- 19 files changed, 127 insertions(+), 136 deletions(-) diff --git a/ADOPTION.md b/ADOPTION.md index 12cf091..4933ef5 100644 --- a/ADOPTION.md +++ b/ADOPTION.md @@ -3,10 +3,9 @@ ## Version-aware adoption Existing supported legacy guides keep their current evaluation under the 2.0.0 -candidate dispatcher. No guide, manifest, DNS, or repository-anchor rotation -is required for that compatibility. The current candidate is -[2.0.0](profiles/2.0.0/spec.md) and is unpublished; [1.0.0](profiles/1.0.0/spec.md) -remains the last published profile, and legacy profiles remain supported. +dispatcher. No guide, manifest, DNS, or repository-anchor rotation is required +for that compatibility. The current release is [2.0.0](https://github.com/snapsynapse/guidecheck/blob/v2.0.0/profiles/2.0.0/spec.md); +[1.0.0](https://github.com/snapsynapse/guidecheck/blob/v1.0.0/profiles/1.0.0/spec.md) and legacy profiles remain supported. Deliberately adopting 1.0.0 requires matching guide/manifest profile declarations and another qualifying anchor when the repository was the only source of @@ -16,8 +15,8 @@ Consumers that require 1.0.0 can use the `required_profile_version` API field or `--require-profile-version` local CLI assertion. These reject an incompatible guide rather than reinterpret its bytes. Local evaluation still caps at Level 3. -Deliberately adopting the 2.0.0 candidate requires matching guide and manifest -profile declarations. Its `corrected-content-1` policy is opt-in and its +Deliberately adopting 2.0.0 requires matching guide and manifest profile +declarations. Its `corrected-content-1` policy is opt-in and its `1.0.0-strict` anchor policy still excludes repository-file evidence from Level 4 qualification. It does not migrate existing reports. The experimental POSIX CLI selector, `--contract posix-json-v1`, is independent of the guide-declared @@ -26,7 +25,7 @@ profile selector; see [the CLI contract](docs/cli-contract.md). The guidance below describes the published legacy profile. See the [compatibility contract](docs/anchor-policy-compatibility.md), [corrected-content policy](docs/corrected-content-policy-2026-09-07.md), and -[candidate release notes](RELEASE_NOTES-2.0.0.md) for selection and status. +[release notes](RELEASE_NOTES-2.0.0.md) for selection and status. This is the practical on-ramp to GuideCheck. It explains what an `assistant-guide.txt` artifact is, what the conformance ladder means in diff --git a/CHANGELOG.md b/CHANGELOG.md index b9edfe1..3739a00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ All notable changes to GuideCheck's Human-Verifiable Assistant Guide profile and its companion documents are recorded here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) conventions. Profile versions follow Semantic Versioning as defined in `spec.md` section 11. -## [2.0.0] - 2026-09-07 (unreleased candidate) +## [2.0.0] - 2026-09-07 - Include the corrected evaluator in the installable wheel and exercise legacy, strict, corrected, and scanner dispatch from an isolated installed consumer in CI. @@ -13,7 +13,7 @@ All notable changes to GuideCheck's Human-Verifiable Assistant Guide profile and replays alongside the existing legacy baseline. - Add the root assistant-guide manifest and enforce byte equality with the served copy, preserving published self-guide and manifest bytes. -- Add a local, unreleased 2.0.0 profile candidate selected only by guide bytes. +- Add a released 2.0.0 profile selected only by guide bytes. It corrects bounded negation and independent occurrence matching, blocks unresolved execution targets, recognizes syntax-proven repository dispatch, and inherits the released 1.0.0 strict anchor policy without changing legacy @@ -389,7 +389,8 @@ Initial draft for review. - designated standard primary verifier at `https://guidecheck.org/verify` - canonical site at `https://guidecheck.org/` -[Unreleased]: https://github.com/snapsynapse/guidecheck/compare/v1.0.0...HEAD +[Unreleased]: https://github.com/snapsynapse/guidecheck/compare/v2.0.0...HEAD +[2.0.0]: https://github.com/snapsynapse/guidecheck/compare/v1.0.0...v2.0.0 [1.0.0]: https://github.com/snapsynapse/guidecheck/compare/v0.7.1...v1.0.0 [0.7.1]: https://github.com/snapsynapse/guidecheck/compare/v0.7.0...v0.7.1 [0.7.0]: https://github.com/snapsynapse/guidecheck/compare/v0.6.0...v0.7.0 diff --git a/CLAUDE.md b/CLAUDE.md index 5d403f1..260cd97 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -85,8 +85,8 @@ Canonical site: https://guidecheck.org/ ยท Verifier: https://guidecheck.org/veri consistent with them, not the other way around. - Software, engine, released-profile, and self-guide versions are separate in `scripts/guidecheck_constants.py`. The legacy engine has frozen constants. - `scripts/check_version_sync.py` checks the 2.0.0 candidate surfaces while - legacy/self-guide surfaces remain 0.7.1; candidate work must not rewrite the + `scripts/check_version_sync.py` checks the 2.0.0 release surfaces while + legacy/self-guide surfaces remain 0.7.1; release work must not rewrite the published self-guide or its anchors. - `finding-ids.md` is the normative registry for finding ids; new finding ids used by fixtures or emitted by verifiers/scanner must be registered there @@ -131,8 +131,8 @@ builds and Sigstore-signs release + conformance-kit artifacts. ## Current state -- The current candidate is 2.0.0 and is unpublished. Profile 1.0.0 remains the - last published profile (see `CHANGELOG.md`). +- The current release is 2.0.0. Profile 1.0.0 remains supported as a prior + release (see `CHANGELOG.md`). - Most recent work (2026-07-07): added `guidecheck scan`, a standalone instruction-surface scanner for existing files (AGENTS.md/CLAUDE.md/ README/SKILL/llms.txt/assistant-guide.txt) that flags hidden-instruction @@ -166,11 +166,11 @@ Local bounded-execution findings are implemented in the shared verifier. Pins remain unverified, including through hosted callers. See roadmap.md for pending hosted fetching and independence decisions. Legacy profile behavior remains pinned to the pre-dispatch baseline. -## Corrected-content candidate (2026-09-07) +## Corrected-content release (2026-09-07) -The opt-in 2.0.0 candidate selects `corrected-content-1` while retaining the +The opt-in 2.0.0 release selects `corrected-content-1` while retaining the `1.0.0-strict` anchor policy. See `docs/corrected-content-policy-2026-09-07.md` -and `RELEASE_NOTES-2.0.0.md`. It does not publish, migrate, or reinterpret +and `RELEASE_NOTES-2.0.0.md`. It does not migrate or reinterpret legacy, 1.0.0, or self-guide bytes. The experimental POSIX CLI selector `--contract posix-json-v1` is independent of the guide-declared profile selector; see `docs/cli-contract.md`. diff --git a/INTENT.md b/INTENT.md index b846630..6867f9e 100644 --- a/INTENT.md +++ b/INTENT.md @@ -77,12 +77,12 @@ GuideCheck is a PAICE Foundation standard. It sits alongside the other open-spec ## Versioning and authority -The current candidate version is 2.0.0, declared in `profiles/2.0.0/` and not -published. Profile 1.0.0 remains the last published profile and is tracked in +The current release version is 2.0.0, declared in `profiles/2.0.0/`. Profile +1.0.0 remains a supported prior profile and is tracked in `CHANGELOG.md`. Root normative documents preserve the legacy contract; the self-guide remains pinned to 0.7.1. `scripts/check_version_sync.py` asserts -candidate, engine, and self-guide identities without treating the candidate as -a published release. `spec.md` and `verifier-conformance.md` are normative. +release, engine, and self-guide identities. `spec.md` and +`verifier-conformance.md` are normative. `design-rationale.md` and `threat-register.md` are explanatory and must stay consistent with the normative documents. `archive/` is historical and is not edited. @@ -91,7 +91,7 @@ edited. Decided by Sam on 2026-09-07: preserve frozen legacy reports and add an explicitly selected corrected evaluation path. The September 7 detector review reproduced negation false positives, affirmative-instruction false negatives, and unpinned script-dispatch gaps. These are maintenance of existing content-check obligations, not authority to silently alter a published evaluation contract. -Existing supported profile behavior, findings, levels, report identity, and exit semantics remain frozen. The corrected path has explicit 2.0.0 selection and `corrected-content-1` policy identity, as defined in `docs/corrected-content-policy-2026-09-07.md`. This does not revise the published strict 1.0.0 policy, which reuses legacy content checks. Publication and hosted acceptance are not completed by this candidate. +Existing supported profile behavior, findings, levels, report identity, and exit semantics remain frozen. The corrected path has explicit 2.0.0 selection and `corrected-content-1` policy identity, as defined in `docs/corrected-content-policy-2026-09-07.md`. This does not revise the strict 1.0.0 policy, which reuses legacy content checks. Delivery evidence is recorded separately from release metadata. Sam also decided on 2026-09-07 that an unresolved execution target blocks Level 3 acceptance on the corrected path. The guide must establish the effective target and satisfy the applicable pinning contract. A declared hash alone cannot resolve an unidentified target. This requirement does not change any released legacy or 1.0.0 evaluation. diff --git a/PROJECT_CONTEXT.md b/PROJECT_CONTEXT.md index 2dd9dcc..e8a5093 100644 --- a/PROJECT_CONTEXT.md +++ b/PROJECT_CONTEXT.md @@ -64,8 +64,8 @@ notes), rather than a general PAICE-wide default. ## Current status -The current candidate is 2.0.0 and is unpublished; 1.0.0 remains the last -published profile (see `CHANGELOG.md`). Most recent shipped work: +The current release is 2.0.0; 1.0.0 remains supported as a prior profile (see +`CHANGELOG.md`). Most recent shipped work: `guidecheck scan`, an instruction-surface scanner for pre-existing AGENTS.md/CLAUDE.md/README/SKILL/llms.txt-style files (2026-07-07). Undecided/open items live in @@ -86,11 +86,11 @@ Local bounded-execution findings are implemented in the shared verifier. Pins remain unverified, including through hosted callers. See roadmap.md for pending hosted fetching and independence decisions. Legacy profile behavior remains pinned to the pre-dispatch baseline. -## Corrected-content candidate (2026-09-07) +## Corrected-content release (2026-09-07) -The 2.0.0 candidate adds an explicitly selected `corrected-content-1` policy +The 2.0.0 release adds an explicitly selected `corrected-content-1` policy while retaining the `1.0.0-strict` anchor policy. Legacy and 1.0.0 profiles, -their reports, and the 0.7.1 self-guide remain frozen. Candidate status and +their reports, and the 0.7.1 self-guide remain frozen. Release scope and scope are recorded in `RELEASE_NOTES-2.0.0.md` and `docs/corrected-content-policy-2026-09-07.md`. The experimental POSIX CLI selector `--contract posix-json-v1` is independent of the guide-declared diff --git a/README.md b/README.md index e53e288..5705d08 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,10 @@ # GuideCheck -The 2.0.0 candidate adds an opt-in corrected content policy while preserving -legacy and 1.0.0 evaluations. It is unpublished: 1.0.0 remains the last -published profile, and the self-guide and frozen legacy reports remain 0.7.1. -See the [2.0.0 candidate profile](profiles/2.0.0/spec.md), +GuideCheck 2.0.0 adds an opt-in corrected-content policy while preserving +legacy and 1.0.0 evaluations. It is the current release; the self-guide and +frozen legacy reports remain 0.7.1. See the [2.0.0 profile](https://github.com/snapsynapse/guidecheck/blob/v2.0.0/profiles/2.0.0/spec.md), [corrected-content policy](docs/corrected-content-policy-2026-09-07.md), and -[candidate release notes](RELEASE_NOTES-2.0.0.md). The current candidate is 2.0.0. +[release notes](RELEASE_NOTES-2.0.0.md). The current release is 2.0.0. GuideCheck is a trust boundary protocol for agent instruction surfaces. It ensures the instructions humans approve are the same instructions agents @@ -98,8 +97,8 @@ agents may execute another. ## Documents - `ADOPTION.md` - the practical on-ramp: conformance ladder, level-by-level path, guide-author checklist -- `profiles/2.0.0/spec.md` and `profiles/2.0.0/verifier-conformance.md` - the unpublished 2.0.0 candidate guide and verifier profiles -- `profiles/1.0.0/spec.md` and `profiles/1.0.0/verifier-conformance.md` - the last published guide and verifier profiles +- `profiles/2.0.0/spec.md` and `profiles/2.0.0/verifier-conformance.md` - the current released guide and verifier profiles +- `profiles/1.0.0/spec.md` and `profiles/1.0.0/verifier-conformance.md` - the prior released guide and verifier profiles - `spec.md` and `verifier-conformance.md` - preserved normative legacy profiles - `design-rationale.md` - why the design choices were made - `operator-guide.md` - non-normative defense-in-depth practices for operators @@ -258,8 +257,8 @@ expectation contract by `scripts/check_reference_verifier.py`. ## Status -The current candidate is 2.0.0 and is unpublished. Profile 1.0.0 remains the -last published profile; legacy profiles remain supported. See +The current release is 2.0.0. Profile 1.0.0 remains supported as a prior +release, and legacy profiles remain supported. See `RELEASE_NOTES-2.0.0.md` and `CHANGELOG.md`. This is an early-stage open standard. The most useful feedback right now is diff --git a/RELEASE_NOTES-2.0.0.md b/RELEASE_NOTES-2.0.0.md index b540fc6..62822b2 100644 --- a/RELEASE_NOTES-2.0.0.md +++ b/RELEASE_NOTES-2.0.0.md @@ -1,16 +1,13 @@ -# GuideCheck 2.0.0 candidate release notes +# GuideCheck 2.0.0 release notes -Candidate version: 2.0.0 - -Status: Unpublished candidate. This file does not announce a tag, package, -GitHub Release, deployment, or hosted-service update. +Release version: 2.0.0 GuideCheck 2.0.0 adds the opt-in `corrected-content-1` policy for guides that explicitly declare profile 2.0.0. It retains the `1.0.0-strict` anchor policy: repository-file evidence remains corroborating and cannot qualify a guide for Level 4. An unresolved execution target blocks Level 3 under this policy. -The candidate preserves the isolated 0.7.1 legacy engine, the published 1.0.0 +The release preserves the isolated 0.7.1 legacy engine, the prior 1.0.0 profile, the 0.7.1 self-guide, and all frozen reports. Existing guides are not migrated or reinterpreted automatically. diff --git a/docs/index.html b/docs/index.html index b4ef696..f9bf1ca 100644 --- a/docs/index.html +++ b/docs/index.html @@ -526,7 +526,7 @@

Your AI assistant just followed instructions you never saw.

Updated - v2.0.0 candidate, unpublished + v2.0.0 release CC BY 4.0

@@ -558,7 +558,7 @@

Your AI assistant just followed instructions you never saw.

The assistant-guide.txt artifact shown in full as plain text: a filename header, three [action] blocks reading Identify user intent, Formulate plan, and Generate response, and an End of file marker, beside a six-rung conformance ladder numbered 0 to 5.
- Read the Candidate Specification + Read the 2.0.0 Specification Verify a guide
@@ -703,15 +703,15 @@

Verify a guide