Skip to content

Epic 11: run the 4.18 wire spec under the real parser + implement 4.19b (mutation generator) #34

Description

@guycorbaz

Recorded re-scope from Epic 4's closure (2026-07-25, party-mode decision — see the epic 4 report and the correct-course record in _bmad-output/implementation-artifacts/).

Inherited by the UniFi connector epic as acceptance criteria:

  1. Run the 4.18 wire spec: fixtures/scenario/wire/unifi-clients.json must be fed through the REAL parser (D35 layer B — raw bytes, no mocks) and produce the facts + observed_at of fixtures/scenario/wire/unifi-clients.expected.jsonl (ids/scope are harness context — the runner injects its own). The charter in fixtures/scenario/wire/README.md lists the NAMED HOLES (envelope, ip key, hostname source, OuiVendor empty-vs-absent, no Uplink) to confirm or bump deliberately at the first real capture.
  2. Implement 4.19b: the mutation GENERATOR (first use of MANIFEST's generator field), the ~30 generated fixtures (field deleted / nulled / retyped / renamed) at fixtures/capture/mutations/, and their expected parse outcomes — deferred from Epic 4 because outcomes for an undefined error taxonomy would be written from belief (D45), and a generator has no test that reds without the parser it attacks.
  3. Binding constraints (4.19a's charter, committed in the wire README): a renamed field must yield an explicit error, never a silently empty collection; #[serde(default)] is FORBIDDEN on any collection feeding presence; layer-A drift injection is theatre (D35).

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions