This release is a pre-release and may not be stable for production use.
English | 한국어
PTSIP — Primary Lifecycle Ownership and Responsibility Isolation Policy
Status: Tool 0.3.8a1 emergency prerelease — publication pending
Tool/package version: 0.3.8a1
Project Profile contract: pp.1.01
Specification family: 0.3.7-draft
Bound immutable Specification revision: 3c47816770d194ae42f98faedc911d980db0e62a
License authority: License-Authority/ (closed authority boundary; references elsewhere are non-authoritative)
License effective time: 2026-09-15T00:00:00Z (UTC)
Localized documentation: README.md is canonical. Localized README files are regenerated on main by the self-hosted Argos Translate workflow; if a translation conflicts with this file, this file governs.
PTSIP is a project-defined architecture policy for separating project responsibilities by primary lifecycle ownership while preserving explicit architecture intent, lifecycle isolation, reproducible conformance, verification-purpose separation, and multi-environment decision consistency.
Purpose precedes reuse. Classify a coherent responsibility by why it exists and which lifecycle owns it before optimizing for code sharing.
Tool 0.3.8a1 is a narrow emergency prerelease bridge built on the Tool 0.3.7 baseline and the same frozen Specification binding. It adds a supported way to represent a component that does not yet exist as an explicit proposed candidate, resolve that proposal through the existing Decision Control Plane, and retain an approved proposal as PROPOSAL_APPROVED without projecting it into active components[] before materialization. Tool 0.3.8a1 is intentionally not the completion of Tool 0.4.0.
Primary lifecycle ownership
Canonical Tool 0.3.8a1 classifications remain exactly:
| Classification | Meaning |
|---|---|
PRODUCT |
Responsibility primarily owned by the Product lifecycle. |
DEVELOPMENT_TOOLING |
Development-lifecycle responsibility used to create, inspect, validate, transform, generate, migrate, analyze, test, or otherwise support development. |
DELIVERY |
Responsibility for release preparation, packaging, publication, promotion, distribution, or deployment to the delivery destination. |
OPERATIONS |
Ongoing post-delivery responsibility for health, recovery, reconciliation, maintenance, and operation. |
NEUTRAL_CONTRACT |
Deliberately non-executable, non-owning contract responsibility with lifecycle-independent governance. |
UNKNOWN, CONFLICT, INCOMPLETE, PENDING, confidence values, and migration states are workflow/evaluation states, not additional classifications.
Tool 0.3.5 compatibility boundary
Tool 0.3.5 historically used:
PRODUCT
TOOLCHAIN
NEUTRAL_CONTRACT
Tool 0.3.8a1 preserves the five-classification model established by Tool 0.3.6. TOOLCHAIN is therefore legacy Tool 0.3.5 input, not a current canonical alias. A legacy Toolchain responsibility may become DEVELOPMENT_TOOLING, DELIVERY, OPERATIONS, or require a split depending on its actual lifecycle ownership. Blind TOOLCHAIN -> DEVELOPMENT_TOOLING rewriting is prohibited.
Tool 0.3.8a1 provides evidence-bound direct current-target migration for explicitly supported historical sources. Migration capability remains separate from repository adoption authority and never turns inference into project intent.
Classification is not path or technology
Classification follows the governing lifecycle obligation, not filename, directory, language, framework, executable status, workflow provider, compilation behavior, runtime duration, test status, or confidence score.
Examples:
Product-specific verification responsibility -> PRODUCT
Reusable verification framework / test SDK -> DEVELOPMENT_TOOLING
Product runtime implementation -> PRODUCT
Release-unit assembly / publication automation -> DELIVERY
Post-deployment health or recovery automation -> OPERATIONS
Independent non-executable shared contract -> NEUTRAL_CONTRACT
Paths such as tests/, tools/, deploy/, ops/, or .github/workflows/ are evidence context only. They do not become architecture authority.
Responsibility Map v2
Tool 0.3.8a1 uses Responsibility Map v2 as the project-owned architecture declaration model. It keeps several axes independent:
classification
= primary lifecycle ownership
roles
= coarse responsibility characteristics
relationships
= project-owned typed directed semantics
source/derived provenance
= where declaration/materialized architecture came from
VPMS Verification Purpose
= why verification exists and what it protects
Canonical roles are:
IMPLEMENTATION
VERIFICATION
AUTOMATION
CONFIGURATION
DOCUMENTATION
GOVERNANCE
Canonical typed relationships are:
IMPORTS
LINKS
LOADS
INVOKES
READS
GENERATES
BUILDS
PACKAGES
PUBLISHES
DEPLOYS
VERIFIES
MANAGES
DOCUMENTS
SPECIFIES
GOVERNS
An associated artifact is a project-owned non-component support surface subordinate to one classified anchor component. It must not be used to hide independently governable executable or lifecycle responsibility.
Explicit, template, and hybrid declarations
Canonical source modes are:
explicit
repository directly declares the complete map
template
repository explicitly selects one immutable revision-bound template
hybrid
repository explicitly selects a template and adds project-owned
overrides, extensions, or removals
The initial template catalog contains:
python-package-library
python-cli-application
mixed-product-development-delivery
Template selection is explicit. PTSIP does not automatically select a template from repository layout, language, framework detection, manifests, or confidence.
Source declaration and Effective Responsibility Map
All source modes resolve through deterministic, non-authoritative materialization:
Source Project Profile
|
v
explicit / template / hybrid
|
v
deterministic materialization
|
v
Canonical Effective Responsibility Map
|
+--> validation / conformance
+--> clarification / adoption
+--> narrow VPMS read-only projection
The Source Project Profile remains project-owned architecture authority. Materialization must not select templates, infer ownership, repair invalid architecture, or silently rewrite the source declaration.
The resolved view retains declaration provenance such as:
PROJECT_EXPLICIT
TEMPLATE
PROJECT_OVERRIDE
PROJECT_EXTENSION
PROJECT_REMOVAL
and has deterministic digest identity for reproducibility. Neither provenance nor digest becomes a replacement architecture authority.
Install and use
PTSIP requires Python 3.11 or newer.
Install the latest published release:
python -m pip install PTSIP
Upgrade to the latest published release:
python -m pip install --upgrade PTSIP
Tool 0.3.8a1 is a prerelease. A normal pip install PTSIP may continue to select the latest stable release unless prereleases are explicitly requested.
After publication, install this prerelease explicitly with:
python -m pip install "PTSIP==0.3.8a1"
For source development on this release line:
python -m pip install -e ".[dev]"
Common commands:
ptsip --version
ptsip spec
ptsip doctor .
ptsip inspect .
ptsip pilot .
ptsip adopt --help
ptsip validate .
ptsip clarify .
ptsip gate .
ptsip resolve --help
ptsip conform .
The default project-owned profile is repository-root ptsip.yaml; projects may consistently use another explicit path through --profile.
Adoption and decision authority
Repository evidence is not architecture authority. Candidate discovery, path names, templates, heuristics, and agent confidence can support review but cannot manufacture project intent.
Canonical Tool 0.3.8a1 explicit adoption facts center on classification as lifecycle ownership authority. New canonical decisions use facts such as:
classification
purpose
shipped
runtime_required
executable
The historical lifecycle_owner field is legacy migration evidence, not a second Tool 0.3.8a1 ownership authority.
Example dry-run:
ptsip adopt . `
--component tools `
--classification DEVELOPMENT_TOOLING `
--purpose "Repository-local generation tooling" `
--shipped no `
--runtime-required no `
--executable yes `
--json
Apply only after reviewing the planned declaration change:
ptsip adopt . `
--component tools `
--classification DEVELOPMENT_TOOLING `
--purpose "Repository-local generation tooling" `
--shipped no `
--runtime-required no `
--executable yes `
--apply `
--json
Prepared writes must reject stale repository/profile state.
PTSIP distinguishes four things that must not be collapsed:
Specification
-> normative rules
Decision Authority
-> which explicit coordinated architecture answer won
Project Profile / Responsibility Map
-> durable project-owned declaration
Observed evidence
-> what the repository and artifacts actually do
A Decision Authority does not replace ptsip.yaml and does not prove conformance.
Distributed decision coordination
The Reference Tool supports repository-distributed decision coordination through:
refs/heads/ptsip-policy
GitHub is a Tool backend, not a universal Specification dependency. The coordination model preserves stable decision identity, first-valid-resolution-wins, stale-writer-safe conditional mutation, authority freshness, deterministic reconciliation, fail-closed behavior, and separation of global decision state from clone-local application state.
PTSIP uses action-time synchronization rather than continuous background polling.
Product Artifact boundary
Artifact ownership is independent from producer ownership. A DEVELOPMENT_TOOLING or DELIVERY component may validly build a PRODUCT artifact, but the resulting artifact must still satisfy the Product package boundary.
Tool 0.3.8a1 supports snapshot-bound Product Artifact evidence. Release verification checks actual built distribution content rather than treating packaging configuration as proof. Product distribution verification rejects definite non-Product implementation leakage under PTSIP-PKG-001.
VPMS — Verification Purpose Management System
PTSIP and VPMS answer different questions:
PTSIP
Who owns this responsibility across its lifecycle?
VPMS
Why does this Verification Case exist, and what does it protect?
PTSIP classification and VPMS Verification Purpose remain separate axes. PTSIP core does not depend on VPMS. VPMS consumes only a narrow read-only projection of already-resolved PTSIP metadata.
The current VPMS compatibility vocabulary may still contain PRODUCT | TOOLCHAIN. VPMS TOOLCHAIN is not a canonical Tool 0.3.8a1 PTSIP classification.
VPMS verification PASS does not imply PTSIP CONFORMANT, and PTSIP CONFORMANT does not imply functional verification PASS.
Conformance
ptsip conform evaluates declared architecture and observed evidence against applicable PTSIP rules after source declarations are resolved to the Effective Responsibility Map.
Completed outcomes are:
| Exit code | Outcome |
|---|---|
0 |
CONFORMANT |
5 |
NON_CONFORMANT |
6 |
INCOMPLETE |
A valid profile does not prove conformance. Missing evidence that could hide an applicable mandatory rule remains fail-closed as INCOMPLETE; the Tool does not force an uncertain repository green.
Tool and Specification lifecycle
The PTSIP Tool and PTSIP Specification are independently versioned.
pyproject.tomlowns Tool/package source version;ptsip --versionreports installed Tool version;ptsip specreports the exact Specification family and immutable revision bound to the Tool;spec/,schemas/, andregistry/contain canonical Specification assets;src/ptsip/specdata/contains matching embedded machine-readable assets.
Tool 0.3.8a1 is bound to independent PP and Specification identities:
Project Profile pp.1.01
Specification 0.3.7-draft
SPEC_REVISION 3c47816770d194ae42f98faedc911d980db0e62a
A new immutable revision is required only for a genuine normative change. Release workflow, test, planning, status, or documentation-only changes do not move SPEC_REVISION by themselves.
Tool 0.3.8a1 release identity
Tool 0.3.8a1 is an emergency bridge prerelease with an intentionally narrow scope.
Tool: 0.3.8a1
Project Profile: pp.1.01
Specification: 0.3.7-draft
SPEC_REVISION: 3c47816770d194ae42f98faedc911d980db0e62a
Release scope: explicit proposed candidate bridge
This Tool release does not introduce a new Specification family or Project Profile contract.
It adds support for representing a not-yet-existing component as an explicit proposed candidate and resolving that proposal without silently materializing it as an active component. It does not claim completion of the broader Tool 0.4.0 capability-recovery architecture.
Release scope and verification history are recorded in releasenote/tool/0.3.8a1.md. The release gate is defined by planning/0.3.8/0.3.8a1-emergency-release-gate.yaml.
License authority
PTSIP licensing authority is contained exclusively under License-Authority/. The machine-readable entry point is License-Authority/license-authority.yaml, and the controlling legal text is License-Authority/LICENSE.md.
The canonical effective time currently declared by the License Authority is 2026-09-15T00:00:00Z (UTC).
License-related wording elsewhere in this repository is informational or contextual only. It does not become part of the License, modify it, or become incorporated by reference.
Normal Tool releases, Specification validation, Tool version changes, documentation mentions, keyword matches, and AI semantic guesses do not authorize License Authority entry. Entry uses only the triggers declared by License-Authority/license-authority.yaml.
Consumer Repository non-intrusion
PTSIP does not require Consumer Repositories to create PTSIP-specific .ptsip/, cache, report, or hidden state directories merely to use the Tool. External inspection and Pilot operations are read-only by default. Tool-owned local state belongs outside the Consumer Repository unless a repository path is explicitly chosen.
Project status
PTSIP remains experimental. Tool 0.3.8a1 is an emergency prerelease whose publication boundary is tracked in releasenote/tool/0.3.8a1.md. Historical Tool releases and Specification notes are preserved under releasenote/.
Metadata
Release files for PTSIP 0.3.8a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ptsip-0.3.8a1.tar.gz | 217.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ptsip-0.3.8a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 496.4 kB
Release files / ptsip-0.3.8a1.tar.gz
| Download URL | ptsip-0.3.8a1.tar.gz |
|---|---|
| Size | 217.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
59d2d06c666d1abb14cb15e15346f8a7f40d3e9f0841dcca7d9e894bb1ee3b2f
|
|
BLAKE2b-256 checksum How to use checksums |
917f129af68db532e5e14c8dfb7a255a0d45e4a052ae7f66166315a0d4285890
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / ptsip-0.3.8a1-py3-none-any.whl
| Download URL | ptsip-0.3.8a1-py3-none-any.whl |
|---|---|
| Size | 278.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
038d6421e25c77356bffef0795e31cf73af7f703c6a2fd8a498747bb1fb25d1e
|
|
BLAKE2b-256 checksum How to use checksums |
bfce319dae326ee946e4020b1b4fe63c2b89e9545f605d7d0cf16cad398c42cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency log