actorInfra delivers configuration by projection, under HQ's plan
spec:hq.infraNext rung ready: nothing blocks; it waits only for the author's statement.
Packs: none
Design: no design entries · no pinned declarations · 3 decisions
Findings: no errors, no warnings
design/hq/hq/infra.sdp.md
2 open questions and no blocking questions; implementation binding none, verifier binding none, and expected-outcome oracle none.
Infra runs both ways against HQ, and the two directions are different in kind. HQ plans infra: its long-term direction sits in this corpus, as for any other project. Infra manages HQ: it provisions HQ's environment, so operationally HQ is one of its targets. Configuration management is software delivery too, so infra belongs in this plan. Infra is rigid but projection-based, which the owner holds to be a good approach for delivering configuration to machines. The orchestration trouble probably came from misreading how infra's high-quality tests work, so infra is also the plan's first proof: an external repository with a real bar.
Intent
- The owner, and the agents changing what the fleet runs.
problem- Facts that change, such as addresses and project names, spread through skills and briefs, and the repository that can change every machine sits outside any plan.
outcome- Infra is isolated, delivers configuration, skills and services to every machine as projections of one source, manages the isolated HQ, and takes its direction from HQ's plan.
Open questions
- non-blocking ·
question.rollbackPointline 36 · design/hq/hq/infra.sdp.md:36· Where did infra's orchestration trouble start, at the takeover of PR #13 where Kimi K3.1 replaced Opus 5.5 or earlier, and which earlier delivery does infra's tooling roll back to?Decider: owner - non-blocking ·
question.takeoverline 38 · design/hq/hq/infra.sdp.md:38· Is HQ ready to take over infra, and what must hold first?Decider: owner
Behavior
rule.projectionDeliveryline 43 ·design/hq/hq/infra.sdp.md:43- Infra delivers configuration to machines as projections of one source.
no example exercises it
rule.changingFactsline 44 ·design/hq/hq/infra.sdp.md:44- A fact that changes, such as an address, a project name or a version pin, lives once in infra's configuration and reaches skills and sessions from there.
no example exercises it
rule.managesHqline 45 ·design/hq/hq/infra.sdp.md:45- Infra provisions and manages the isolated HQ.
no example exercises it
rule.hqPlansInfraline 46 ·design/hq/hq/infra.sdp.md:46- HQ plans infra's work, with access designed in infra.
no example exercises it
rule.noDependencyCallsline 47 ·design/hq/hq/infra.sdp.md:47- HQ imports nothing from infra and calls none of its dependencies; it names infra's work in prose by repository and pull request.
no example exercises it
rule.ownTestsline 48 ·design/hq/hq/infra.sdp.md:48- Infra's own tests, fuzzer-based tests among them, are the bar for any change to it.
no example exercises it
rule.deliversToProjectsline 49 ·design/hq/hq/infra.sdp.md:49- Once HQ has taken infra over, infra deploys to each project with that project's own settings.
no example exercises it
0 unkeyed rules.
Verification
Verifier bindings
No verifier binding recorded.
Design view
Requirement drawing
- Declared verifying examples: no declared verifying example.
- Satisfying or referencing units: no recorded binding.
- Test or oracle bindings: no recorded binding.
Arrows: refines (declared).
The diagram as text
- spec:hq.infra: Infra delivers configuration by projection, under HQ's plan · declared Spec · no satisfying binding
- spec:decisions.isolated-infra-manages-hq: Infra is super isolated and manages the isolated HQ · declared Spec
- spec:hq.headquarters: HQ plans and designs across every project, and starts the engineering work · declared Spec
- spec:decisions.isolated-infra-manages-hq refines spec:hq.infra · declared — records how infra and HQ stand towards each other
- spec:hq.infra refines spec:hq.headquarters · declared — one of the aspects the owner names
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.
Decisions
- Infra is super isolated and manages the isolated HQ
HQ is isolated in the owner's sense: it keeps long-term planning, high-level design and cross-project context apart from detailed planning and execution, which it initiates as sessions in the engineering environment. Infra is super isolated and manages the isolated HQ. Deployment and access boundaries are designed in infra, and the owner's use of 'isolated' does not itself select a machine, kernel or network policy.
- Generic orchestration moves from infra to cc-agents, and Relay runs jobs until cc-agents earns trust
The inbox, the chain and similar generic orchestration move from infra to cc-agents. Until cc-agents' job runner earns trust it stays off on every machine and Relay runs the harness jobs, while its coordination can already be on. Infra deploys the result to projects as an extension.
- The recovery chain stops and this corpus replaces its master plan
The recovery chain stops and this SDP corpus replaces its master plan. The scan items' purpose, recovering valid owner directions and sufficient evidence for rollback and takeover, remains with the context and infra Specs. Existing evidence is used first; any remaining investigation is bounded detailed work, not a revival of the recovery chain.
Runtime
No implementation neighborhood recorded.
Runtime observation: not tracked.
Evidence
Runtime observation: not tracked.
Build attestations: not tracked.
Deployments: not tracked.
Bills of materials: not tracked.
Impact
Shown as text: this drawing exceeds the height budget of 2000 pixels after folding.
The diagram as text
- spec:decisions.isolated-infra-manages-hq: Infra is super isolated and manages the isolated HQ
- spec:decisions.orchestration-leaves-infra: Generic orchestration moves from infra to cc-agents, and Relay runs jobs until cc-agents earns trust
- spec:decisions.recovery-closed: The recovery chain stops and this corpus replaces its master plan
- spec:hq.context: HQ's private context stays in one place and stays clean
- spec:hq.headquarters: HQ plans and designs across every project, and starts the engineering work
- spec:hq.infra: Infra delivers configuration by projection, under HQ's plan
- spec:hq.isolation: HQ works apart from detailed work, and infra manages its environment
- spec:hq.orchestration: Orchestration lives in one plugin, apart from infra and HQ
- spec:hq.infra constrainedBy spec:hq.isolation · declared — deployment and access boundaries are designed here
- spec:hq.infra decidedBy spec:decisions.isolated-infra-manages-hq · declared — the ruling sets the two directions between HQ and infra
- spec:hq.infra decidedBy spec:decisions.orchestration-leaves-infra · declared — the ruling takes generic orchestration out of infra
- spec:hq.infra decidedBy spec:decisions.recovery-closed · declared — items 3 and 5 of the master plan continue here
- spec:hq.infra dependsOn spec:hq.orchestration · declared — the owner's order takes over Relay and cc-agents before infra, and the inbox leaves infra first
- spec:hq.infra refines spec:hq.headquarters · declared — one of the aspects the owner names
- spec:hq.context dependsOn spec:hq.infra · declared — per-project settings exist only once infra deploys to projects
- spec:decisions.isolated-infra-manages-hq refines spec:hq.infra · declared — records how infra and HQ stand towards each other
Rests on
- refines · spec:hq.headquarters · stated defined, floor ready
- dependsOn · spec:hq.orchestration · stated defined, floor ready
- constrainedBy · spec:hq.isolation · stated defined, floor ready
- decidedBy · spec:decisions.isolated-infra-manages-hq · stated defined, floor ready
- decidedBy · spec:decisions.orchestration-leaves-infra · stated defined, floor ready
- decidedBy · spec:decisions.recovery-closed · stated defined, floor ready
Rested on by
Distance 1
- spec:decisions.isolated-infra-manages-hq
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
- spec:hq.context
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
Distance 2
- spec:decisions.client-material-deferred
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
- spec:hq.environment
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
- spec:hq.isolation
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
Distance 3
- spec:hq.engineering-environment
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
- spec:hq.session-handoff
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
Distance 4
- spec:decisions.design-locked-by-projection
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
- spec:hq.delivery-planning
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
Distance 5
- spec:decisions.sdp-holds-the-plan
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
Distance 6
- spec:hq.headquarters
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
Distance 7
- spec:architecture.cc-agents
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
- spec:architecture.inbox
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
- spec:architecture.relay
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
- spec:decisions.hq-starts-engineering
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
- spec:decisions.recovery-closed
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
- spec:decisions.separate-repositories
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
- spec:hq.model
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
- spec:hq.orchestration
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
Distance 8
- spec:cc-agents.hq-links
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
- spec:decisions.coordination-native-first
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
- spec:decisions.orchestration-leaves-infra
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
Relations
| Relation and direction | Other end | Claim | Reason | Exercised keys |
|---|---|---|---|---|
| constrainedBy · outgoing | HQ works apart from detailed work, and infra manages its environmentspec:hq.isolation · resolves | declared | deployment and access boundaries are designed here | None |
| decidedBy · outgoing | Infra is super isolated and manages the isolated HQspec:decisions.isolated-infra-manages-hq · resolves | declared | the ruling sets the two directions between HQ and infra | None |
| decidedBy · outgoing | Generic orchestration moves from infra to cc-agents, and Relay runs jobs until cc-agents earns trustspec:decisions.orchestration-leaves-infra · resolves | declared | the ruling takes generic orchestration out of infra | None |
| decidedBy · outgoing | The recovery chain stops and this corpus replaces its master planspec:decisions.recovery-closed · resolves | declared | items 3 and 5 of the master plan continue here | None |
| dependsOn · outgoing | Orchestration lives in one plugin, apart from infra and HQspec:hq.orchestration · resolves | declared | the owner's order takes over Relay and cc-agents before infra, and the inbox leaves infra first | None |
| refines · outgoing | HQ plans and designs across every project, and starts the engineering workspec:hq.headquarters · resolves | declared | one of the aspects the owner names | None |
| dependsOn · incoming | HQ's private context stays in one place and stays cleanspec:hq.context · resolves | declared | per-project settings exist only once infra deploys to projects | None |
| refines · incoming | Infra is super isolated and manages the isolated HQspec:decisions.isolated-infra-manages-hq · resolves | declared | records how infra and HQ stand towards each other | None |
Bindings
Implementation binding: none
Design reference: none
Verifier binding: none
Expected-outcome oracle: none
Runtime observation: not tracked.
Run results: not recorded in the graph.
Findings
None.
Composing (0)
Composing needs the script.