Spec Studio

Infra delivers configuration by projection, under HQ's plan

spec:hq.infraUse Case / Behavior · featuredefined floor ready

Next rung ready: nothing blocks; it waits only for the author's statement.

Packs: pack:hq-roadmap

Design: no design entries · no pinned declarations · 3 decisions

Findings: no errors, no warnings

specs/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
actor
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.rollbackPoint line 36 · specs/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.takeover line 38 · specs/hq/infra.sdp.md:38 · Is HQ ready to take over infra, and what must hold first?Decider: owner
Behavior
rule.projectionDelivery line 43 · specs/hq/infra.sdp.md:43
Infra delivers configuration to machines as projections of one source.

no example exercises it

rule.changingFacts line 44 · specs/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.managesHq line 45 · specs/hq/infra.sdp.md:45
Infra provisions and manages the isolated HQ.

no example exercises it

rule.hqPlansInfra line 46 · specs/hq/infra.sdp.md:46
HQ plans infra's work, with access designed in infra.

no example exercises it

rule.noDependencyCalls line 47 · specs/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.ownTests line 48 · specs/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.deliversToProjects line 49 · specs/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.
Requirement drawing for spec:hq.infra

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
Relations of spec:hq.infra

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

Rested on by

Distance 1

Distance 2

Distance 3

Distance 4

Distance 5

Distance 6

Distance 7

Distance 8

Relations

Relation and directionOther endClaimReasonExercised keys
constrainedBy · outgoingHQ works apart from detailed work, and infra manages its environment
spec:hq.isolation · resolves
declareddeployment and access boundaries are designed hereNone
decidedBy · outgoingInfra is super isolated and manages the isolated HQ
spec:decisions.isolated-infra-manages-hq · resolves
declaredthe ruling sets the two directions between HQ and infraNone
decidedBy · outgoingGeneric orchestration moves from infra to cc-agents, and Relay runs jobs until cc-agents earns trust
spec:decisions.orchestration-leaves-infra · resolves
declaredthe ruling takes generic orchestration out of infraNone
decidedBy · outgoingThe recovery chain stops and this corpus replaces its master plan
spec:decisions.recovery-closed · resolves
declareditems 3 and 5 of the master plan continue hereNone
dependsOn · outgoingOrchestration lives in one plugin, apart from infra and HQ
spec:hq.orchestration · resolves
declaredthe owner's order takes over Relay and cc-agents before infra, and the inbox leaves infra firstNone
refines · outgoingHQ plans and designs across every project, and starts the engineering work
spec:hq.headquarters · resolves
declaredone of the aspects the owner namesNone
dependsOn · incomingHQ's private context stays in one place and stays clean
spec:hq.context · resolves
declaredper-project settings exist only once infra deploys to projectsNone
refines · incomingInfra is super isolated and manages the isolated HQ
spec:decisions.isolated-infra-manages-hq · resolves
declaredrecords how infra and HQ stand towards each otherNone

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.