Repository navigation
v1.10.0 — component-aware major
ADD 1.10.0 — component-aware major. Live on npm (@pilotspace/add@1.10.0) and PyPI (pilotspace-add 1.10.0).
ADD now models every codebase as a graph of components — each owning a source root, its own green-bar, and the contracts it produces or consumes — so one milestone ships a vertical slice across components in a monorepo or across repos. Bundles three closed milestones plus the ccsk --rule-file mode. Every new gate is opt-in or grandfathered: a project that declares no components is byte-identical to 1.9.0.
Added
- Component registry (
component-aware-add) — declare parts of a multi-part codebase in.add/components.toml([component.<name>]=root+green-bar); a task binds with acomponent:header that anchors its §5 Scope. Declared, never inferred; zero components ⇒ byte-identical to today. - Per-component verify — a bound task is held to ITS component's green-bar at the gate (
component_green_bar_uncited), so two tasks in one milestone can pass on two toolchains. The engine still never runs a suite. - Cross-component contracts (
produces:/consumes:) —[contract.<id>](producer + consumers); a producer's §3 freeze writes an immutable snapshot at.add/contracts/<id>.json, a consumer pins its hash, a changed re-freeze flags every consumer stale. Missing/malformed ⇒ HARD-STOP. - One milestone, full-stack slice — a
consumes:task is HELD from entering §3 (producer_contract_unfrozen) until its producer freezes, so a BE→FE slice ships in one milestone. - Multi-repo federation (
add.py federate pull <id>) — declare[federation.<id>](source+ optionalpin) and pull a byte-for-byte copy of a producer repo's published snapshot. Fail-loud: unknown id / unreadable source / invalid snapshot / version mismatch each HARD-STOPS and lands nothing. - Component pillar docs — book chapter
17 · Components, a skill guide, and glossary terms. - The book as a live site (
docs-site) — the AIDD book ships to GitHub Pages as a MkDocs-Material site;mkdocs build --strictgates the deploy. Packages stay zero-dependency. - Rule-file mode for ccsk projects (
--rule-file) — relocate CLAUDE.md's block to.claude/rules/add-workflows.mdfor.ccsk/projects; CLAUDE-only, idempotent, fail-soft, mirrored across all three installers.
Changed
- Guided dynamic loop (
loop-steering) —statusandguidenow STEER into the build→verify loop rather than only reporting it.
Compatibility
Python 3.11+ is required to use the component pillar (stdlib tomllib); on 3.10 the engine runs unchanged and a declared components.toml fails loud. Published packages remain zero-dependency.
Evidence: suite 1745/0 · check 378/0 · audit clean (74 tasks) · mkdocs build --strict clean. Full notes in CHANGELOG.md.