nw-distill-red-scaffolding · git:20261102.c67d57b · 2026-11-02 · sha256 561e42c0ef89cc6e
nw-distill-red-scaffolding git:20261102.c67d57bA
Immutable. This exact content never changes and is served at /api/v1/blob/561e42c0ef89cc6e.
--- name: nw-distill-red-scaffolding description: "Prepare declared native oracle/supports and establish failure for the promised business reason without production stubs, invented reports or runner substitution." user-invocable: false disable-model-invocation: true --- # Native RED Readiness **Kind**: PROCEDURE. Trigger: the selected oracle cannot yet run through its declared public boundary, or RED evidence is needed before craft. `nw-distill` owns the selected oracle/support/argv tuple; `nw-test-design-mandates` owns native discovery. This procedure does not expand the ATD's write set or task. ## Prepare and observe 1. Read the selected contract, public driving port, native build/test discovery, declared dependencies and literal argv/cwd/runtime. Reuse existing test helpers. Identify missing oracle supports separately from future production targets. 2. Author only declared oracle/support bytes for an oracle-authoring task. A manifest-only task returns facts without file edits. Do not create production modules, assertion-error stubs, scaffold markers or a fictitious public API merely to manufacture RED. Return a missing production seam to DESIGN with a concrete constructive counterexample. 3. Execute the declared native recipe, or ask the host to execute it unchanged when the role ceiling lacks execution. Prove collection/build/setup succeeds and the promised public stimulus reaches an assertion of the business outcome. 4. Classify authentic output: promised outcome absent/wrong is semantic RED; compile/import/dependency/fixture/startup/capture failure is BROKEN; insufficient native attribution is INDETERMINATE. Exit status, counts or an assertion-like exception class alone do not establish the cause. Already satisfied behavior remains GREEN and requires no artificial production change. 5. Return classification and evidence to the owning role. Repair an oracle/support defect within authority; route missing substrate or contract to its owner. Do not emit another `red-classification.md`, handoff ledger or guessed destination. Preserve the original obligations. ## Negative observations Construct a falsifier for each relevant promise: the wrong business outcome, state loss, duplicate consume, forbidden transition or early response must be observable when the contract distinguishes it. Naming a test `rejects` or marking it `negative_at` does not prove that observation. Use business-readable native identifiers; do not rename valid native tests just to satisfy a syntax proxy. ## Native evidence and tool ceilings The host runs the design's declared native verification commands and retains their actual output. Declared facts are not RED/GREEN execution evidence. Use authentic native reports when the selected observer needs them; never synthesize JUnit or counts from arbitrary summaries. Keep tool applicability and unavailable observations explicit. The role judges the semantic failure cause; a process exit or a generated report alone does not establish it. For a stable native public entry, invoke absent behavior through its real runtime dispatch and compare captured public outcomes. Do not assume lazy-import or collection semantics from Python in another stack. Where compilation requires future production, identify the timing limitation rather than converting a build error into a business assertion with a stub. ## Handoff Supply authentic source/oracle/support identity, selection, argv/cwd/environment, observed failure and its local reason through existing channels. Retain wrong- reason evidence; do not suppress it or call it intended RED. Native launch/setup, machine capability (ports, writable cache/temp, space/inodes) and provider/auth/ quota/timeout failures are distinct from product rejection. Unknown is not zero or PASS. The host owns execution and continuation.