Repository guide · 0 diagrams

View source on GitHub ↗
Original documentation, preserved from the repository. Historical projections and scenario ambitions are not evidence of live performance. See the current readiness record for deployment requirements.

Dependency disruption desk

A read-only, pre-commissioning decision aid for the supplied seven-job dependency plan. It answers: which work becomes unreachable if a job is blocked, what rewards are exposed as a planning total, which dependency subgraph remains unaffected, and how additional job duration changes the earliest finite schedule. It does not simulate agent execution.

Run

From repository root, Node 22 or later; no additional dependencies:

node demo/OMNIPHOENIX-ASCENDANT-HYPERSTRUCTURE/disruption/cli.cjs --help
node demo/OMNIPHOENIX-ASCENDANT-HYPERSTRUCTURE/disruption/cli.cjs
node --test test/scripts/omniphoenix-disruption.test.cjs

Defaults only read the original plan and print an analysis. Baseline: 1,128,000 planned AGIALPHA rewards, 122,000 unallocated, and a 211-day illustrative critical path. The original plan and diagrams are not modified.

Use --plan FILE for another bounded plan with the documented schema. Use --controls FILE for a strict JSON object such as:

{
  "delays": [{ "id": "PAN-PAYMENTS-NETTING", "days": 30 }],
  "blockedJobIds": [],
  "horizonDays": 211
}

That delay changes the critical dependency at infrastructure regeneration and extends full completion from day 211 to 214. A 20-day delay to the same job instead fits within that branch's schedule slack and leaves full completion at day 211.

Blocking CLIMATE-SWARM-DEPLOY also blocks INFRA-REGEN-DEPLOY and EQUILIBRIUM-REBALANCE: planning reward exposure is 590,000; the remaining schedulable subgraph finishes at day 71. Full completion and its delta are unknown (null), not 71.

Export and reopen

node demo/OMNIPHOENIX-ASCENDANT-HYPERSTRUCTURE/disruption/cli.cjs --controls controls.json --output-dir ./new-disruption-run
node demo/OMNIPHOENIX-ASCENDANT-HYPERSTRUCTURE/disruption/cli.cjs --import ./new-disruption-run/recovery.json --json

Output requires an explicitly requested, nonexistent directory with an existing real parent. Existing destinations and symbolic-link parent aliases are rejected. Source inputs must be regular files, bounded before reading, and not symbolic links. Nonblocking open rejects FIFOs and other special files without waiting for a writer. Output contains compact report.json and recovery.json, followed by a completion.json marker. Recovery preserves exact UTF-8 source text and recomputes all results before accepting the stored report. Neither a checksum nor successful import proves that the plan is authoritative.

Interpretation and limits

See CONTRACT.md for the stable JSON/browser integration contract.

Interrupted exports

A complete export has a valid completion.json written last, matching both file hashes. The CLI module's readExportDirectory(path) requires that marker, checks both files, and recomputes recovery before classifying an export as complete. Standalone recovery-file import remains supported and always recomputes its report.

Caught write failures remove only files created by this attempt whose identity still matches, then remove its empty directory so the same destination can be retried. If cleanup cannot finish, the error says so and preserves unrelated files. A process crash or forced termination can leave incomplete output; a missing, invalid or mismatched completion marker means it is not a complete export. Inspect such output or use a new directory. Publication is not atomic and no crash-durability guarantee is made.

← Back to Omniphoenix