Skip to content

Prophet CLI & System Architecture spec (intake 2026-07-31): land 3x3 build-recipe contract; reconcile command tree with CLI_SURFACE_POLICY #57

Description

@mdheller

Disposition of Prophet CLI & System Architecture — Technical Requirements (SourceOS Spec intake 2026-07-31, source SHA-256 231ceb18d677efbaf580b66d812b4a81c97d9a0c4f2560db881e18353ffe0ba5). The doc is a large architecture transcript (Cobra command tree; 3x3 Genesis/Inception/Twin build order; SAPIEN/ROCKZDB/GIB data plane; ostree/Nix three-space; SSE/TritRPC transport skins; ArgoCD/Rollouts canary promotion). Most concrete commitments are already-real elsewhere; only one crisp, schema-shaped slice is net-new and buildable here.

Already-real (consume, do not rebuild)

  • Genesis / Inception / Twin contracts: sourceos-spec (GenesisSeed, GenesisAttestationDocument, ProofOfLife, IdentityQuorumPolicy) + source-os/runtime/quorumd.
  • Promote lifecycle (Propose+validate+sign -> stage on INCEPTION canary -> verify & promote to region -> adopt into SYSTEM after gates): estate gitops-promote / gate.yml / canary lifecycle (FIPS).
  • SSE / gRPC transport skins over TritRPC: TriTRPC (transport-agnostic TRIT + SCHEMA-ID + CONTEXT-ID).
  • ArgoCD / Argo Rollouts / canary + Grafana SLO gates: prophet-platform deploy plane.
  • Deterministic CLI surface + delegation boundaries: already canonical here (docs/CLI_SURFACE_POLICY.md, docs/COMMANDS.md, docs/SUITE_COMMAND_SURFACE.md).

Buildable slice (this repo) — 3x3 build-recipe contract

The spec's one net-new, schema-shaped artifact is build/recipes.yaml: prophet build local|region|macro enforcing a 3x3 evolution order (local: genesis -> inception -> twin-bridge; region: security/storage -> bus/HOPE -> work/agents; macro: federated-twin -> policy/replication -> macro-agents/search) with a per-stage health gate so stage N+1 cannot start until stage N verifies.

Acceptance criteria (teeth, mirroring scripts/validate_lattice_studio_commands.py)

  • manifests/build-recipes.schema.json (or build/recipes.yaml + schema): tier in {local,region,macro}; ordered stages; each stage declares depends_on + health check.
  • scripts/validate_build_recipes.py: validates the recipe, and proves the ordering is a DAG with no forward/skip edges and every stage has a health gate.
  • Accept fixture: the canonical 3x3 recipe validates.
  • Reject fixtures (each must fire): (a) stage depends on a later stage; (b) a stage missing its health gate; (c) unknown tier; (d) a cycle in depends_on.
  • Wired into make validate / CI; negative control confirmed (weaken a reject fixture -> run fails).

Reconciliation (decision, not code)

  • Map the spec command tree (context/config/build/fs/graph/docker/conda/minio/rsync/kafka/work/vocab/gib/search/opencog/genesis/inception/twin/bridge/agents) onto the deterministic verb model in CLI_SURFACE_POLICY.md. These are nouns; they must resolve to the canonical read/mutation/runtime/bootstrap verbs and must not define a competing command language. Adopt as noun namespaces only where each has a real delegated tool; do not scaffold empty subtrees (violates the phase-1 policy).

Intake INDEX: ~/dev/spec-intake/2026-07-31/INDEX.md.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions