specsmither-lifecycle
The pure planning-lifecycle core of SpecSmither.
This distribution contributes the specsmither.lifecycle, specsmither.domain, and
specsmither.ids modules to the shared specsmither PEP 420 namespace. It is the
crucible-gated verb surface — start / action / complete / inspect plus the
handover verbs — together with the in-memory operations projector, the WritePlan
data contract, and the domain records/enums.
It is deliberately dependency-light: crucible-forge, pydantic, python-ulid,
and pyyaml only. It pulls in no SQLAlchemy, Textual, or MCP — those live in the
specsmither product distribution, which depends on this package and wires it to a
concrete SQLite store, TUI, and MCP server.
The verb surface satisfies a pure (payload, ports) -> {response, WritePlan} contract:
a host embeds it by providing the LifecyclePorts seam (stores, validator, operations
projector, clock, id generator) and consuming the returned WritePlan.
Guidance language
All guidance prose is internationalized (English default, Brazilian Portuguese included). An embed selects the language two ways, in precedence order:
- Per project / per spec — return
{"guidance": {"language": "pt-br"}}from theconfig_storefor theplanning-lifecycledomain (frozen into the spec snapshot). - Ambient default — set
LifecyclePorts(default_language="pt-br", …); used when a project sets no explicit language. Supported:en,pt-br(aliasespt,pt_BR); an unsupported tag degrades toen. The same tag is forwarded tocrucible-forgeso its validator findings match.
Metadata
Release files for specsmither-lifecycle 0.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| specsmither_lifecycle-0.4.2.tar.gz | 142.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| specsmither_lifecycle-0.4.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 327.9 kB
Release files / specsmither_lifecycle-0.4.2.tar.gz
| Download URL | specsmither_lifecycle-0.4.2.tar.gz |
|---|---|
| Size | 142.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
660375fca1d753a7913696088cd936d6b4417371eb1bf9edee5bb024f3cc734b
|
|
BLAKE2b-256 checksum How to use checksums |
6d08cdb3c6554506d22012b24dac3190093473fbc2a420fc745497d7174f8513
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.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 Jul 23, 2026.
Transparency logRelease files / specsmither_lifecycle-0.4.2-py3-none-any.whl
| Download URL | specsmither_lifecycle-0.4.2-py3-none-any.whl |
|---|---|
| Size | 185.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba34dce90e06b8b0577b66100606d92a7f8861c9c07a4234990a2504477bb2da
|
|
BLAKE2b-256 checksum How to use checksums |
dfe5df7699b5eefa485c8ffbb8b3300c0fe956bb08700ffd8e4ddeb9a0619d45
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.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 Jul 23, 2026.
Transparency log