{
"schema": "actionist.p03.decision-ledger.v1",
"lane": "S1-L2",
"agent": "ACTIONIST-S1-L2-SUPPLY",
"part": "P03",
"run_id": "2026-08-27-sprint-1-fable",
"observed_date": "2026-08-27",
"authority_note": "These are lane-level research decisions about how P03 is built and reasoned about. None promotes, admits, or authorizes implementation. Decisions affecting the knowledge spine or other parts are recorded as proposals for the coordinator, not applied.",
"decisions": [
{
"id": "D-01",
"decision": "The shelf's row unit is (capability_kind, source, reuse_shape), not a repository.",
"rationale": "Assumption A04 rejects the repository as the reusable unit and A05 rejects one universal shape. A repo-rowed shelf double-counts composite systems and cannot express that one source supplies several capabilities in different shapes.",
"evidence": "knowledge/02-ASSUMPTION-LEDGER.md A04/A05; overlap-graph.json kinds-per-source distribution.",
"falsifier": "If decomposition proves unstable — the same source is tagged with materially different kinds by independent reviewers — the triple is not a reliable key and the shelf must fall back to repo rows with a kinds list.",
"status": "adopted_for_this_lane"
},
{
"id": "D-02",
"decision": "Do not inherit the Phase-3 0-100 candidate ranking as the shelf ranking.",
"rationale": "That score explicitly ranks inspection value from metadata and disclaims being a quality, licence or capability verdict. Its A-band top-25 is dominated by eval/provenance/browser tooling, which is a product of its query lanes, not of client value.",
"evidence": "phase-3/outputs/github-candidate-priority.md (scoring description and top-25 table).",
"falsifier": "If the new adaptation-value ranking and the old inspection-value ranking agree on the top decile, the distinction was not worth maintaining.",
"status": "adopted_for_this_lane"
},
{
"id": "D-03",
"decision": "Rights class gates DISPOSITION, not shelf membership. Copyleft sources stay on the shelf as intact_service or pattern candidates.",
"rationale": "The scarce kinds (case/workflow, e-signature, LMS) have their best supply under AGPL/GPL. Deleting copyleft rows would make the shelf look emptier than reality and would hide the legitimate service/pattern routes. Recording them with an explicit rights class preserves both the option and the constraint.",
"evidence": "phase-8 template shelf (documenso AGPL-3.0, frappe/hrms GPL-3.0 forced to hold); this run's OSS survey licence-class distribution.",
"falsifier": "Counsel rules that AGPL network-use makes even service-shaped reuse unusable for Actionist's resale model, in which case those rows become reject, not hold.",
"status": "adopted_for_this_lane",
"escalation": "Rights interpretation is explicitly out of this lane's authority (A39, operator direction). Recorded, not resolved."
},
{
"id": "D-04",
"decision": "Classify a capability kind as commodity/scarce/missing only when BOTH the OSS and commercial denominators are populated; otherwise return UNDERDETERMINED.",
"rationale": "One-sided scarcity is a survey artefact. This run proved it: the OSS survey initially returned one row each for scheduling and e-signature, which would have mislabelled two well-supplied kinds as scarce.",
"evidence": "Lane audit of draft-top-repos.jsonl first write (calendar_scheduling=1, e_sign=1) versus the commercial survey (calendar/scheduling=3, e-signature=3 vendors); repair pass dispatched.",
"falsifier": "A kind classified UNDERDETERMINED that a targeted survey then shows to have deep supply on the missing side means the threshold is too conservative.",
"status": "adopted_for_this_lane"
},
{
"id": "D-05",
"decision": "Reject subagent survey output as finished evidence; re-derive counts from the files and repair defects before use.",
"rationale": "Three defects survived the subagents' own summaries: two under-tagged kinds, a degenerate reuse-shape assignment (pattern on 117/176 rows including 28 permissive ones), and 83/100 commercial rows resting on recall in exactly the fields that go stale. The project's evidence standard treats a returned summary as a claim to investigate.",
"evidence": "checkpoints/checkpoint-3-surveys-and-audit.md; python3 re-derivation of both survey files.",
"falsifier": "If repair passes change nothing material, the audit overhead was not justified at this scale.",
"status": "adopted_for_this_lane"
},
{
"id": "D-06",
"decision": "Split assumption A20 into three separate claims and confirm A21, as a PROPOSAL to the knowledge spine.",
"rationale": "A20 currently bundles 'a 1.3M index exists', 'it is local' and 'it is currently queryable' into one unknown. Direct probe this run resolves them differently: exists = confirmed via the foundry-corpus skill contract; local = refuted (it is on the Mac mini); queryable = refuted (engine unreachable). A21 is confirmed as the same asset at an earlier dating.",
"evidence": "ls of ~/.claude/skills/foundry-corpus/ (foundry 24,791B executable, SKILL.md present); `foundry status --json` returning ENGINE UNREACHABLE (mac-mini) ssh Network is unreachable. Both re-run by the lane owner, not only by the subagent.",
"falsifier": "The Mini becomes reachable and the corpus schema does not match the SKILL.md contract, meaning the interface was resolved to the wrong asset.",
"status": "proposed_to_coordinator",
"boundary": "This lane does not write knowledge/. The correction is proposed, not applied."
},
{
"id": "D-07",
"decision": "No shelf row may depend on the unreachable large corpus. It is a recall layer for future discovery only.",
"rationale": "Every size figure for that corpus (1.3M, 1.36M, 850k/80k) is currently a stale claim with no live verification. Building shelf rows on it would import unverified counts into a client deliverable.",
"evidence": "source-register.jsonl SRC-017/SRC-018; first-principles.md invariant 5.",
"falsifier": "Mini reachability restored and counts verified, at which point the corpus can supply candidates — still subject to the same per-row verification as any other lane.",
"status": "adopted_for_this_lane"
},
{
"id": "D-08",
"decision": "Keep the user_provided provenance lane distinct and EMPTY rather than backfilling it from our own surveys.",
"rationale": "The dispatch requires user-supplied lists be a distinct lane. The probe found no enumerated list on disk — only the client's own empty repo URL and three prior-art names. Filling that lane with our survey results would manufacture client input that does not exist.",
"evidence": "draft-local-estate.md section B; source-register.jsonl SRC-023; smoke.py check 5 enforces that no survey record may claim the user_provided lane.",
"falsifier": "A client-supplied list surfaces (e.g. in comms not read by this lane), in which case the lane is populated from that source and re-joined.",
"status": "adopted_for_this_lane",
"escalation": "A real list is client input. Must be requested from Cena via CENA."
},
{
"id": "D-09",
"decision": "RETRACTED. I claimed foundry status exits 0 while printing ENGINE UNREACHABLE. That claim is FALSE.",
"rationale": "My probe was `foundry status --json 2>&1 | head -20; echo $?` — $? captured the exit status of `head`, not of foundry. A pipeline measurement error on my part. CENA's independent probe returned exit 4 and I re-tested directly without a pipe: exit 4 both with and without --json, matching the documented SKILL.md contract exactly.",
"evidence": "Direct re-test 2026-08-27: `foundry status --json > /tmp/f1.out 2>&1; echo $?` -> 4. `foundry status > /tmp/f2.out 2>&1; echo $?` -> 4. Both print ENGINE UNREACHABLE. No defect exists.",
"falsifier": "n/a — retracted",
"status": "RETRACTED_claim_was_false",
"boundary": "This lane does not modify the skill.",
"lesson": "Never read $? through a pipe. Redirect to a file and test the exit status of the command itself."
},
{
"id": "D-10",
"decision": "Dossier depth is deliberately uneven: top 10 deep, next tier structural, tail metadata-grade — with the level recorded per row.",
"rationale": "Uniform depth across 100+ sources is unaffordable and would produce false confidence. Explicit per-row depth lets a reader see which claims are load-bearing and which are leads.",
"evidence": "innovation-register INN-072 (depth ladder); depth contract item 2/3 (justify a top 10 from a broad denominator).",
"falsifier": "A top-10 selection later overturned by evidence that was available at a shallower tier means the ladder mis-ranked what deserved depth.",
"status": "adopted_for_this_lane"
}
],
"open_gates": [
"Licence-body audit across the full shelf (experiment E2) — 49 bodies read this run against 176+ rows.",
"Dependency-tree/SBOM rights remain unscanned on every row; all permissive readings are top-level only.",
"Adaptation-cost evidence does not exist for any row; the shelf's cost columns are estimates until a pilot measures them.",
"Mac mini corpus reachability (blocks the pre-computed qualification funnel).",
"Client-supplied SaaS/repo list (blocks the user_provided lane)."
]
}P03 · Supply · Rendered from source
decision ledger
Curated capability shelf