release: PPGP v0.1.3 hardening candidate - #12
Merged
Merged
Conversation
…ibility, force backup Protocol semantics unchanged from 0.1.2. Adds test/hardening.test.js with fixtures derived from the 2026-09-23 adversarial validation (research/ppgp-reality-audit). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Version-bearing files aligned to 0.1.3 on the release branch. Not tagged, not published. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…mance, reorganize repository surface - CLI: conformant (13 fields) / partial / malformed / missing with exit 0/2/1 - README, docs/DISTRIBUTION.md, CITATION.cff, SPEC, ROADMAP: source version is 0.1.3, published release is whatever GitHub Releases and npm list; no unpublished asset names - version-consistency test enforces candidate-vs-dated changelog and citation rules - docs/COMPATIBILITY.md: evidence type and last-verified date per platform - root surface: COMPATIBILITY/DISTRIBUTION/EVALUATION to docs/, BENCHMARK_PROTOCOL to benchmarks/PROTOCOL.md, adversarial validation to research/ with an index - dist/ppgp-v0.1.zip removed; .gitignore for generated archives; CI push filter main only; timeless workflow and issue-template version wording Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…led into CONTRIBUTING)
…esearch-branch reference - CHANGELOG heading is the bare version; CITATION never carries date-released; GitHub Releases and npm are the only home of publication state and date - version test enforces the bare heading and absence of date-released - research/README.md no longer points at a branch that is not published - README: one ACTIVE_GOAL state; the reference CLI stores it in docs/ACTIVE_GOAL.md Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Hardening candidate for PPGP v0.1.3. Protocol semantics are unchanged from v0.1.2. This PR brings the CLI, documentation, tests and the public repository surface up to the model the 2026-09-23 adversarial validation found sound, and reconciles the repository's competing truths found in owner review.
Source version in this tree: 0.1.3. Latest published release: v0.1.2 on GitHub Releases and npm. The tree never records publication state:
CHANGELOG.mduses a bare## 0.1.3heading andCITATION.cffhas nodate-released, so the immutablev0.1.3tag stays correct after publication andmainstays correct if a publish step fails. Publication state and date are canonical on GitHub Releases and npm only.CLI (
bin/ppgp.js)KEY:lines, case-insensitive, small alias set; unrecognized sections retained and listed; first duplicate wins with a warning.CLOSEDinside an existing ACTIVE_GOAL,CLOSEDwith non-empty REMAINING, leftover scaffold placeholders;doctorsurfaces the same.--root, else Git top-level of the cwd, else cwd. Git remains optional.doctorprints branch / HEAD / working-tree change count and, when no ACTIVE_GOAL is checked out, lists other refs that carry one. Read-only; never switches or merges.goal --forcepreserves the previous file as a timestamped.bak.Source version vs published release
docs/DISTRIBUTION.md,SPEC.md,ROADMAP.mdstate the source version and link to GitHub Releases / npm for what is actually published. No document namesppgp-v0.1.3.zipor@fatboy-coder/ppgp@0.1.3.CITATION.cffkeepsversion: "0.1.3"and never carriesdate-released.CHANGELOG.mdheads the entry## 0.1.3(bare); the version-consistency test enforces: source artifacts agree on thepackage.jsonversion; the changelog heading is bare; nodate-released; no active document hard-codes a release asset or pinned package version.Repository surface
COMPATIBILITY.md,DISTRIBUTION.md,EVALUATION.md→docs/;BENCHMARK_PROTOCOL.md→benchmarks/PROTOCOL.md;ADVERSARIAL_VALIDATION.md→research/2026-09-23-adversarial-validation.mdwithresearch/README.mdas the evidence index. All references, the npmfileslist and the release-notes template updated.docs/COMPATIBILITY.mdmatrix carries evidence type, last-verified date (from Git history; client version "not recorded") and a verification snapshot; no date was refreshed by editing.dist/ppgp-v0.1.zipremoved;.gitignoreguards generated archives.main; workflow inputs and issue-template placeholders describe versions generically.distill/closestay agent-performed.Public repository state (done outside this diff)
feat/ppgp-v0.2.0-concurrencypreserved unchanged asresearch/v0.2-concurrency-experiment(same SHAaf5a2da); PR feat: PPGP v0.2.0 portfolio coordination release candidate #10 commented and closed as superseded by evidence; old branch deleted. ROADMAP records it as preserved research, not a release path.fix/release-downstream-triggerheld only a placeholder file and superseded release-note wording).delete_branch_on_mergeenabled; empty wiki and projects disabled.mainprotection unchanged (not protected; separate owner decision).Tests
test/hardening.test.jswith 12 fixtures undertest/fixtures/: happy path (conformant), canonical/SCP-style/OCPDF-style parsing (the realistic files are partial, exit 2, with missing fields named and unknown sections retained), implemented-not-deployed, observation window, scoped blocker, malformed and contradictory state, nested-directory invocation, branch visibility, forced replacement backup, minimal repository, skill install.Self-hosting
Tracked with
docs/ACTIVE_GOAL.mdin this repository (two goals: the hardening goal, closed at f98263e, and the owner-review remediation goal, closed at the end of this PR). History in the branch commits.Verification
npm test: cli/version/distribution, hardening, benchmark, package suites pass.node test/installed-cli.test.js: passes on win32.npm pack --dry-run: 24 files, 36.9 kB; shipsdocs/EVALUATION.mdandbenchmarks/PROTOCOL.md, no fixtures or research.mainsays "source version 0.1.3", links to releases/latest (v0.1.2) and npm (0.1.2), and no document claims 0.1.3 was published. Conversely, after a successful release nothing in the tagged tree is stale.Not done in this PR
No merge, tag, GitHub Release or npm publication.
🤖 Generated with Claude Code