PTSIP Reference Tool 0.3.4 Release Notes
Status: RELEASE PREPARATION; repository identity migration complete; implementation completed; publication pending
Canonical repository: Kinirin/PTSIP
Previous Tool source: 0.3.3 (permanently source-only)
Distributed-authority implementation merge: 555c528593f700a348d8da84545a62ce61291cae
Pre-rebind verification completion: 8cd0ddf16dc9b56f27f694138a37caae1c49bb4f
Active bound Specification: 0.3.4-draft revision b5b17dd16667cc1afaf1d23054b6e5dd773e3f5e
Pre-identity-migration verification: GitHub Actions run 31558658990 — PASS
Final verification merge: PR #27, merge commit b092497c5eaab956ae5108a7ecd701cfa4e40515
Publication: no tool-v0.3.4 tag, GitHub Release, or PyPI publication has been created
Tool 0.3.4 completes GitHub-coordinated repository-global Decision Authority consistency and is now verified against the active 0.3.4-draft Specification binding.
The distributed-authority implementation was originally completed and verified while bound to the predecessor 0.2.0-draft revision. PR #26 activated the coherent normative migration and rebound the same Tool source version to the immutable 0.3.4-draft freeze revision above. PR #27 then aligned stale test fixtures and projection expectations with that active binding without changing runtime or Specification behavior.
The existing spec-v0.3.4-draft tag/GitHub Release remains the earlier public design checkpoint and is not moved. The active normative identity for Tool 0.3.4 is 0.3.4-draft @ b5b17dd16667cc1afaf1d23054b6e5dd773e3f5e.
Historical GitHub references may identify an earlier repository location; the canonical repository path is now Kinirin/PTSIP.
Authority freshness at gate time
For GitHub-coordinated repositories, ptsip gate checks the relevant authority scope even when the selected local Project Profile already contains a complete declaration.
A local declaration therefore cannot cause an early success result without accounting for an existing repository-global authority record for the same normalized component scope.
Authority lookup uses a read-only path. When the authority ref does not exist, absence observation does not create the ref or fabricate decision history merely to prove that no distributed decision exists.
Reconciliation matrix
Tool 0.3.4 distinguishes the important local/remote states explicitly:
- local declaration absent + no authority decision: create/reuse pending state only when the active operation actually requires one;
- local declaration absent + resolved authority winner: validate and safely project the winner into the selected local profile;
- local declaration present + no authority decision: retain the project declaration without fabricating authority history;
- local declaration equivalent + resolved authority winner: return resolved/consistent state without rewriting equivalent profile text;
- local declaration conflicting + resolved authority winner: return
AUTHORITY_PROFILE_CONFLICTand do not silently overwrite/reclassify the Project Profile; - repository/profile changes during reconciliation: refuse stale application rather than writing over changed local state.
Equivalent profile comparison is semantic rather than YAML-format-sensitive.
Global decision state versus local projection
Distributed authority owns global decision state such as PENDING / RESOLVED. Tool 0.3.4 does not use one global application flag to imply every clone has applied the decision.
Clone-local projection/application state is separate. A local receipt cannot change which architecture answer won and cannot claim other clones are synchronized.
Explicit adoption fact preservation
The 0.3.4-draft Project Profile migration closes the representation gap discovered during Tool 0.3.3 adoption work.
Structured adoption/resolution now preserves these supplied facts losslessly in component declarations:
classificationpurposeshippedruntime_requiredlifecycle_ownerexecutable
Canonical lifecycle owners are:
PRODUCTDEVELOPMENT_TOOLINGINDEPENDENT
release_owner and compatibility_owner remain separate project metadata. Tool 0.3.4 no longer uses release_owner as a lossy alias for lifecycle_owner, and it no longer drops runtime_required during profile projection.
Boundary-root shorthand remains structurally available, but a structured write-enabled adoption/resolution refuses mutation when the shorthand cannot preserve the complete supplied fact set.
Adoption and resolution
ptsip adopt --apply coordinates new GitHub architecture decisions before local mutation. A different already-resolved winner cannot be overwritten.
If a component is already declared locally and no distributed authority decision exists, adoption does not create remote pending history solely for bookkeeping.
ptsip resolve preserves first-valid-resolution-wins semantics and reconciles the accepted winner into the selected local Project Profile only after validation and freshness checks.
Fail-closed behavior
Selected distributed coordination fails closed when required authority freshness or safe mutation cannot be established and never silently falls back to a separate Local DecisionStore winner.
Machine-readable coordinated failures expose COORDINATION_UNAVAILABLE where required by the Tool authority contract.
Bound Specification migration
The coherent 0.3.4-draft migration adds stable normative rules:
PTSIP-ADP-001PTSIP-AUT-001throughPTSIP-AUT-007
PTSIP-AUT-* rules govern implementations claiming distributed coordination capability. They are not a fourth Consumer Repository architecture plane.
The final immutable Specification freeze activated by PR #26 is:
Specification family: 0.3.4-draft
Specification revision: b5b17dd16667cc1afaf1d23054b6e5dd773e3f5e
Canonical and packaged embedded machine-readable assets are required by release-readiness tests to be byte-identical for:
- Project Profile schema;
- registry;
- artifact-evidence schema;
- agent-classification schema;
- diagnostic schema.
Pre-rebind verification
GitHub Actions run 31471025526 on Python 3.14.6 verified the distributed-authority Tool implementation before the Specification migration:
- complete pytest suite:
134 passed; PTSIP Tool 0.3.4identity: PASS;- predecessor bound Specification identity: PASS;
ptsip conform --help: PASS;python -m build: PASS;- wheel/sdist
twine check: PASS; - built-wheel force reinstall: PASS;
- installed-wheel Tool/spec/CLI smoke: PASS.
That run remains pre-rebind implementation evidence only; it does not serve as the final release verification for the active 0.3.4-draft @ afba3531... package binding.
Post-rebind verification
The first post-rebind merged-PR run, 31556564655, correctly detected stale test fixtures and expectations left from the predecessor Specification binding. It failed with 15 failed, 123 passed before package build and smoke stages and is retained as superseded diagnostic evidence.
PR #27 migrated only the stale verification fixtures and projection expectations to the active 0.3.4-draft contract. It introduced no runtime or Specification behavior change.
GitHub Actions run 31558658990 is pre-repository-identity-migration verification evidence for Tool 0.3.4. The run completed successfully and verified:
- complete pytest suite:
138 passed; - Tool source/package identity remains
0.3.4: PASS; ptsip specreports the active0.3.4-draft @ b5b17dd16667cc1afaf1d23054b6e5dd773e3f5ebinding: PASS;- canonical/embedded machine-readable contract equality checks: PASS through the complete test suite;
ptsip conform --help: PASS;python -m build: PASS;- wheel and sdist
twine check: PASS; - built-wheel force reinstall: PASS;
- installed-wheel Tool/spec/CLI smoke: PASS.
Tool 0.3.4 requires fresh repository-identity-migration verification before publication.
Publication boundary
Tool 0.3.3 remains permanently without a tag, GitHub Release, or PyPI publication.
Tool 0.3.4 is verified and ready for the separate publication action, but remains unpublished at this release-note finalization point:
Tool source version: 0.3.4
Distributed implementation: COMPLETED
Specification rebind: ACTIVATED
Repository identity migration: COMPLETE
Implementation: COMPLETED
Publication: PENDING
Pre-identity-migration verification run: 31558658990
Final verification merge: b092497c5eaab956ae5108a7ecd701cfa4e40515
Tag: not created
GitHub Tool Release: not created
PyPI PTSIP==0.3.4: not published
The next publication action is to create/publish tool-v0.3.4 from canonical main. Publishing that GitHub Tool Release triggers the Tool release workflow, which builds the distributions and publishes PTSIP==0.3.4 to PyPI through trusted publishing after the release checks succeed.