nx_director_pipeline.nx
buildroot/runtime/nx_director_pipeline.nx
about
nx_director_pipeline.nx -- end-to-end demonstration: the substrate IS
the director.
One pure NishiLang program walks the canonical pipeline:
1. allocate a multi-stage arc (a "day-as-a-movie" event)
2. for each stage, resolve into a DirectorsNote (the per-moment
decision the director hands to the crew)
3. simulate a "render outcome" by writing per-element survival
verdicts into a SurvivalReport
4. aggregate -> PreflightTier (GOOD / DRIFT / BROKEN)
5. count session totals + emit a final director-summary verdict
No Python, no service layer, no subprocess. Per the arc-and-moment-
are-king cardinal: arcs + moments live in NishiLang, not in glue code.
Per the graduated-intervention cardinal:
any MISSING -> BROKEN (regen with corrective phrasing)
any PARTIAL (no missing) -> DRIFT (ship + log trend, NO regen)
any UNMEASURED (rest ok) -> DRIFT
all SURVIVED -> GOOD (ship + archive as exemplar)
genealogy_id: kurosawa_director_centric + jenkins_pipelines
lineage_id: substrate_native_director
dependencies 8 imports · 1 importers
imports: nx_syscalls.nxnx_runtime.nxnx_tier.nxnx_prng.nxnx_arc.nxnx_directors_note.nxnx_moment_resolve.nxnx_intent_survival.nx
imported by: nx_director_pipeline_test.nx
structs
| 46 | struct PipelineSummary |
consts
| 54 | const NX_PIPE_SUMMARY_BYTES: nx_int = 40 // 5 fields * 8 |
| 79 | const NX_DPS_PERFECT: nx_int = 0 |
| 80 | const NX_DPS_DRIFTED: nx_int = 1 |
| 81 | const NX_DPS_BROKEN: nx_int = 2 |
functions
| 56 | func nx_pipe_summary_alloc() -> *PipelineSummary |
| 83 | func _simulate_perfect(rpt: *SurvivalReport) -> nx_int |
| 92 | func _simulate_drifted(rpt: *SurvivalReport) -> nx_int |
| 105 | func _simulate_broken(rpt: *SurvivalReport) -> nx_int |
| 117 | func _simulate(rpt: *SurvivalReport, scenario: nx_int) -> nx_int |
| 132 | func nx_director_pipeline_step(arc: *Arc, stage_idx: nx_int, called by 1: main calls 6: nx_dn_allocnx_moment_resolvenx_is_alloc_simulatenx_is_aggregatenx_is_apply_to_dn |
| 167 | func nx_director_pipeline_verdict(summary: *PipelineSummary) -> nx_int called by 1: main |