Process Discipline v2 — Two Antipatterns + Two Practices Added
Date: 2026-04-16 Agent: Collaborator Scope: Consolidate and codify two antipattern nominations from the PSX Collaborator into the canonical Process Discipline document. PO approved.
Why
The canonical Process Discipline document was relayed to the PSX Collaborator earlier today. Within the same working day, the PSX Collaborator returned two antipattern nominations drawn from concrete PSX experience (dates: 2026-04-13 and 2026-04-14). This is exactly the Andon-cord mechanism working as designed — a sibling-project agent observed failure patterns not yet in the canonical, submitted rigorous nominations, and the PO approved both.
What Was Done
New Practices Added
Two new first-class practices:
- Consolidation Gate (Gate, before acting) — Before adding a new code path that duplicates the responsibility of an existing path, explicitly consolidate / extend / document-why-both. Adding-alongside is prohibited without justification.
- Diagnostic-First Rule (Checkpoint, during) — For any non-trivial fix, either show evidence the hypothesis is correct or add diagnostic logging first, commit the logging separately, run once to gather data, and only then propose the fix. "I'm pretty sure" is insufficient.
Total practices: 8 (was 6).
New Antipatterns Added
- Silent parallel code paths (PSX origin, 2026-04-14) — New feature/fix added as a parallel code path alongside existing one; paths drift independently; bug fixes don't propagate. Countered by Consolidation Gate.
- Evidence-free diagnosis (PSX origin, 2026-04-13) — Agent applies a fix based on a hypothesis without gathering evidence first; multiple hypothesis-driven iterations accumulate before anyone measures what's happening. The upstream failure that makes Sunk Cost Retention inevitable. Countered by Diagnostic-First Rule.
Total antipatterns: 10 (was 8).
Nomination Template Canonicalized
The PSX Collaborator's nomination format was promoted to the canonical nomination template. Any future antipattern nomination must follow the format:
- Behavior (what the failure pattern looks like)
- Example (concrete instance with citation)
- Distinct from (explicit comparison against existing vocabulary)
- Proposed name
- Proposed countermeasure
- Why new countermeasure (if proposing one)
The PSX Collaborator's 2026-04-16 nominations are cited as exemplary models.
Refinement on Diagnostic-First
Minor refinement during consolidation: the diagnostic logging commit must be separate from the fix commit. This ensures:
- Diagnostics survive if the fix is reversed
- Audit trail shows what evidence was gathered before the change
- Future debugging sessions inherit the logging
User Preference Captured
Kevin confirmed a preference for prompt-relay format: brief intro + single code fence + nothing else outside the fence. Captured in AGENTS.md so every agent role inherits it.
Files Modified
docs-site/docs/agents/process-discipline.md— added Consolidation Gate, Diagnostic-First Rule, 2 antipatterns, nomination template, updated session checklistdocs-site/docs/agents/collaborator-context.md— added both new practices to the Collaborator's obligationsAGENTS.md— expanded practice summary, updated antipattern list, captured prompt-relay format preference
Key Decisions
- Both nominations accepted as-is with one refinement (separate diagnostic logging commit)
- Promoted both countermeasures to first-class practices rather than informal countermeasure-notes attached to antipatterns. Reasoning: they're proactive (applied before/during work), not reactive.
- Adopted PSX nomination format as canonical template. Quality of inbound nomination made consolidation easy; capturing the format preserves that.
Counterfactual Retro
If I were starting over knowing what I know now, what would I do differently?
Nothing significant. The nominations arrived in a clean format that made evaluation straightforward. The Alternatives-First Gate was applied (three options considered: accept-only-as-antipatterns / accept-with-promotion / reject). Consolidation Gate was passed (this is the first iteration of the canonical; no drift yet). Diagnostic-First was N/A (no bug fix involved).
Why am I not doing that?
Because nothing needed changing. Meta-observation: the practice discipline worked as designed for this deliverable.
Meta-Observation: The Ecosystem Is Working
This deliverable is the first end-to-end example of the cross-project Andon cord producing value:
- PSX Collaborator observed failure patterns in PSX
- Relayed nominations to Kevin
- Kevin relayed to PSSaaS Collaborator
- PSSaaS Collaborator consolidated and recommended
- Kevin approved
- Canonical updated
- Next: relay back to PSX acknowledging acceptance + relay to MBS Access announcing additions
That loop took less than one working day. The feedback loop is short, the vocabulary is shared, and the canonical is growing from real experience rather than theoretical patterns.
What's Next
- Draft a relay back to the PSX Collaborator acknowledging acceptance with the Diagnostic-First refinement
- Kevin relays the acknowledgment when he's next in the PSX session
- Update the MBS Access stub when/if that agent comes online
- Continue practicing
Risks Captured
- Velocity vs. quality tension. The nomination-to-canonical cycle was fast (under 1 day). That's a feature when the nominations are good, a bug when they're poorly framed. The canonical nomination template is the guardrail — if a future nomination arrives without the full template filled out, we send it back rather than forcing consolidation of incomplete material.