| AGT.66 probe |
WikiPages |
2026-09-24T12:27:03.3758055+00:00 |
|
|
| AGT.66 probe |
WikiPages |
2026-09-24T12:26:28.0795839+00:00 |
|
|
| AGT.66 probe |
WikiPages |
2026-09-24T12:26:12.8692879+00:00 |
|
|
| Anti-pattern #15 (additive over rename) inverts when code is fresh enough to have no callers yet. Within ~24 hours of shipping a wrong shape, rename/delete is cheap; past that window, additive wins. |
WikiPages |
2026-09-24T11:21:24.0067514+00:00 |
|
|
| When you add a way to WRITE something, re-ask every invariant that was only ever enforced over the declared file - a test that reads Parts.xml proves the shipped state, never the runtime one. |
WikiPages |
2026-09-24T11:21:24.0032353+00:00 |
|
|
| A declared mechanism is unproven until a SECOND instance adopts it; the first adoption is where the latent bug lives, not the design review. |
WikiPages |
2026-09-24T11:21:23.9998199+00:00 |
|
|
| When the proper fix is identified, DO IT - don't stop to offer a cheaper workaround as an alternative. Blast radius is not a reason to ask. |
WikiPages |
2026-09-24T11:21:23.9963464+00:00 |
|
|
| When extracting a feature into its own SPICE.Apps.* package, the App owns the substance (renderer/services + parts as an embedded manifest) but its MVC controller stays a thin shim in SPICE.Web |
WikiPages |
2026-09-24T11:21:23.9924998+00:00 |
|
|
| An instrument that must separate infra-error from subject-error sometimes needs the BAD output to land - suppressing it collapses two diagnoses into one useless \"nothing happened\". |
WikiPages |
2026-09-24T11:21:23.9885696+00:00 |
|
|
| A hosted service that spends LLM on boot must be DEFAULT-OFF behind a SettingScope flag, or every Dev/served-test/smoke boot hammers the gateway. |
WikiPages |
2026-09-24T11:21:23.9847591+00:00 |
|
|
| When unsure of the best solution, reach for the SharePoint on-prem mechanism — prefer the idiomatic better solution over a quick hack. |
WikiPages |
2026-09-24T11:21:23.9812655+00:00 |
|
|
| A collection bounded in COUNT is not bounded in SIZE; measure the composed artifact BY SECTION through the real DI before hypothesising about its inputs (the 17.6k-token research prompt was two wisdom topics, not search context). |
WikiPages |
2026-09-24T11:21:23.9779997+00:00 |
|
|
| Claude's role on SPICE is to BUILD THE CITY and COACH its agents — the city's divisions/agents do the missions. Don't do mission work yourself; bootstrap from known-good crews and have them build the rest. |
WikiPages |
2026-09-24T11:21:23.9746873+00:00 |
|
|
| A multi-phase agent workflow chains via the Phase <HandoffTo> element and HALTS on invalid OutputSchema — set OutputSchema=\"\" on intermediate (prose) phases and link them with <HandoffTo>. |
WikiPages |
2026-09-24T11:21:23.9713600+00:00 |
|
|
| Check Windows Available MBytes before dispatching builders; at <2 GB SQL LocalDB stalls (memory grants) and the PC pages |
WikiPages |
2026-09-24T11:21:23.9679484+00:00 |
|
|
| A reuse-first check must ask what MUTATION KINDS a subsystem performs, not just what operations it has - the real gap is often a missing primitive, and that reframes an ask-first call. |
WikiPages |
2026-09-24T11:21:23.9644952+00:00 |
|
|
| The per-cycle build+boot+smoke loop leaks orphaned MSBuild node-reuse workers; over a long multi-cycle session they pile up to GBs and slow the machine. Kill the tree, not just the port listener; sweep periodically. |
WikiPages |
2026-09-24T11:21:23.9605060+00:00 |
|
|
| Each worktree agent leaves a git fsmonitor daemon + GBs of bin/obj running; remove merged worktrees right after merging |
WikiPages |
2026-09-24T11:21:23.9566343+00:00 |
|
|
| Erik's stated core operating rhythm — IOODARI + progressive disclosure + a critic/gap/suggest pass AFTER retrospect |
WikiPages |
2026-09-24T11:21:23.9529875+00:00 |
|
|
| A single board is never evidence; read two that measure the same thing and audit where they disagree - that gap is where capability theatre lives. |
WikiPages |
2026-09-24T11:21:23.9495241+00:00 |
|
|
| User drives with terse signals ("ok"/"go"/"continue"/"okok"); each cycle ends with tests-pass + smoke-up + commit + one-line next-cycle recommendation |
WikiPages |
2026-09-24T11:21:23.9459545+00:00 |
|
|
| A grep for C# literals finds CANDIDATES, not violations - check consumers, divergence and reachability before extracting one into data. |
WikiPages |
2026-09-24T11:21:23.9421908+00:00 |
|
|
| The platform's intended data flow: silo per-dept raw gather, separate enrichment pass, cross-site read for research/comparison surfaces - shapes how new content types and the HubSite layer should be designed |
WikiPages |
2026-09-24T11:21:23.9385879+00:00 |
|
|
| Default to declaring in XML/data/XSLT; write C# only when truly necessary, and only for key engine seams |
WikiPages |
2026-09-24T11:21:23.9344892+00:00 |
|
|
| A SPICE Phase with no UsesSkill does not fail - it GUESSES via keyword scoring; silence reads as \"no preference\" when it usually means an undeclared one. |
WikiPages |
2026-09-24T11:21:23.9309881+00:00 |
|
|
| A test's cleanup against shared storage must delete only rows THIS process authored - not rows matching a key prefix, and not rows that merely aren't foreign |
WikiPages |
2026-09-24T11:21:23.9275339+00:00 |
|
|
| Several Singleton services inject Scoped IStorageProvider — fix by injecting IServiceScopeFactory |
WikiPages |
2026-09-24T11:21:23.9237933+00:00 |
|
|
| Gate prompt-injection at the untrusted SOURCE (the Echo stub / provider), not by content-in-input matching — the latter drops legitimate \"remember what the operator said\" memories |
WikiPages |
2026-09-24T11:21:23.9199190+00:00 |
|
|
| For term sets / vocabularies / reference data, download the industry-standard set from the internet instead of inventing values |
WikiPages |
2026-09-24T11:21:23.9164531+00:00 |
|
|
| Before deduplicating anything, find who COUNTS the duplicates - repetition is often the signal, and collapsing it silently starves a downstream threshold. |
WikiPages |
2026-09-24T11:21:23.9126193+00:00 |
|
|
| Prefer reusable, parameterized parts GENERATED dynamically over hardcoding parts in C# or hand-authoring N near-identical ones. |
WikiPages |
2026-09-24T11:21:23.8974031+00:00 |
|
|
| A deterministic outcome (delivery, a row that MUST land, a settlement) belongs to the ENGINE as a declared postcondition, never to the model's discretion to call a tool. |
WikiPages |
2026-09-24T11:21:23.8717249+00:00 |
|
|
| How to gather \"total context needed\" for a cycle fast — name the archetype, open one exemplar per layer (progressive disclosure), don't grep to rediscover the pattern |
WikiPages |
2026-09-24T11:21:23.8683975+00:00 |
|
|
| Every point where LLM output becomes system data needs a declared-shape gate that fails toward silence — the model proposes, the gate decides |
WikiPages |
2026-09-24T11:21:23.8648717+00:00 |
|
|
| Operator 2026-09-24 - repeated part sets (a radar, an intake) are generated from a small spec by XML/XSLT, not hand-written per instance |
WikiPages |
2026-09-24T11:21:23.8615176+00:00 |
|
|
| A served-surface check that greps for a string proves the string reached the DOM and NOTHING about whether a human can use the page. Take the screenshot - it caught two defects in one look that four curl checks had just passed. |
WikiPages |
2026-09-24T11:21:23.8580467+00:00 |
|
|
| A hook script branch is dead code unless the settings.json matcher lists that tool — spice-nudge's Agent/Task wisdom-injection branch never fired for ~6 weeks because the matcher omitted Agent|Task. |
WikiPages |
2026-09-24T11:21:23.8550056+00:00 |
|
|
| SessionStart hook output is capped (~10 KB, maybe only a ~2 KB preview reaches the model) - a hook must OFFER context, not paste it |
WikiPages |
2026-09-24T11:21:23.8515918+00:00 |
|
|
| When a cycle touches a shape with industry precedent (CRM, data flow, business rules, BPMN, addresses), one WebSearch/WebFetch pass before designing the XSD moves the work from invention to standard-borrowing. Cost: one Skill turn. Win: external cita |
WikiPages |
2026-09-24T11:21:23.8481075+00:00 |
|
|
| Documenting 'what does NOT carry over' alongside 'what works' is what makes an abstraction trustworthy. Bank the limit + resolution-path-candidates in the KB body, not in a side conversation. |
WikiPages |
2026-09-24T11:21:23.8450737+00:00 |
|
|
| A list item round-trips ONLY when the storage key is \"item:{id}\" AND the rendered row-Id equals that key suffix; the item: prefix is necessary but not sufficient |
WikiPages |
2026-09-24T11:21:23.8419975+00:00 |
|
|
| To make an LLM emit a schema-valid ProvisioningDelta (or any namespaced XSD output) in SPICE, the briefing must TEACH the target namespace + the closed op vocabulary + a concrete valid skeleton — prose schema rules alone don't work; show-don't-tell. |
WikiPages |
2026-09-24T11:21:23.8387752+00:00 |
|
|
| How to maintain memory: MEMORY.md is the always-loaded wiki index — keep it lean, push detail to topic files (progressive disclosure); consistent frontmatter + tags + Mermaid-for-structure, optimised for LLM retrieval (not tied to Obsidian) |
WikiPages |
2026-09-24T11:21:23.8353236+00:00 |
|
|
| An instrument that reports only FAILURES cannot tell 'every rule held' from 'no rule ran' - report coverage beside the verdict, and the coverage data is usually already computed and discarded. |
WikiPages |
2026-09-24T11:21:23.8319395+00:00 |
|
|
| Don't delegate structural C# (interface changes, new types, cross-cutting wiring) to subagents — keep that in main. |
WikiPages |
2026-09-24T11:21:23.8285348+00:00 |
|
|
| The MEMORY.md NOW line carries judgment (what is closed, what is next, what is hazardous); FACTS about a shipped cycle live in its plans/cycles.xml row, which is served, drawn and queryable offline. |
WikiPages |
2026-09-24T11:21:23.8254395+00:00 |
|
|
| An UNDECLARED context need must be OFFERED (a slot the agent pulls), never guessed at expensively by pasting a default bundle into every prompt - and measure the artifact by section before believing which block is the fat one. |
WikiPages |
2026-09-24T11:21:23.8222655+00:00 |
|
|
| Add a new DI dependency to a tool invoker / DI-constructed class as an OPTIONAL nullable ctor param with a fallback, so no existing caller or test helper breaks. |
WikiPages |
2026-09-24T11:21:23.8189118+00:00 |
|
|
| When extending a declarative shape, prefer optional fields/attributes orthogonal to existing ones over forking a second grammar. Criterion: can the existing one-of-bindings check accept the new branch without changing others? If yes, extend; if no, s |
WikiPages |
2026-09-24T11:21:23.8156944+00:00 |
|
|
| User wants aggressive multi-subagent parallelism by default; ramp up beyond two cycles when independent work is available. |
WikiPages |
2026-09-24T11:21:23.8124665+00:00 |
|
|
| Parse money/numeric USER input with InvariantCulture - ASP.NET form binding is culture-sensitive, so \"5.00\" became 500 (a 100x overcharge); only a served test through real form binding catches it |
WikiPages |
2026-09-24T11:21:23.8091041+00:00 |
|
|
| Repeatable template for adding a new part type — record / handler / XSD / impl / composition root / slot bridge / test / seed / smoke / commit |
WikiPages |
2026-09-24T11:21:23.8051437+00:00 |
|
|
| Close every Retrospect with a candid PM verdict — am I satisfied? — separating shipped from value-delivered, naming scope-vs-intent and what's owed |
WikiPages |
2026-09-24T11:21:23.7891118+00:00 |
|
|
| A cheap health endpoint answering fast is not evidence the expensive one works - and a duration that resembles your own timeout is not evidence it was your timeout. |
WikiPages |
2026-09-24T11:21:23.7631591+00:00 |
|
|
| When a served surface looks wrong, ask what the WRITE returned before theorising about the renderer - a field count settles in one call what a page-read guesses at for several. |
WikiPages |
2026-09-24T11:21:23.7599077+00:00 |
|
|
| Render the SPICE way via a framework projection base (XQuery→XSLT→HTML) + domain views as embedded .xslt data; GoF = Template Method + Strategy + Facade, NOT a Bridge (YAGNI). Never build HTML in C#. |
WikiPages |
2026-09-24T11:21:23.7562550+00:00 |
|
|
| Before designing a metric over \"signals we already own\", rank the candidates by whether a join key to the dimension exists - and check the flag is not an alias of another field. |
WikiPages |
2026-09-24T11:21:23.7525934+00:00 |
|
|
| When subagents hit a budget limit mid-cycle, partial work in their worktrees can be patched into main and finished from main context. Saves the cycle without waiting for budget reset. |
WikiPages |
2026-09-24T11:21:23.7487224+00:00 |
|
|
| When presenting options/choices, always evaluate and recommend the one best for the long-term future, not a neutral list. |
WikiPages |
2026-09-24T11:21:23.7437061+00:00 |
|
|
| When a new source must satisfy a lookup, resolve it at the POINT OF USE against the specific thing asked for, rather than adding it to the shared index everything else reads. |
WikiPages |
2026-09-24T11:21:23.7138241+00:00 |
|
|
| Before standing up a C# store (or a new ContentType) for any business record, check the BaaN/ERP modules — a purchase IS a Tf Invoice, an order IS a Td SalesOrder; reuse them |
WikiPages |
2026-09-24T11:21:23.7101071+00:00 |
|
|
| Two SAF-Site-Manifest.xml files exist; the engine reads via SAF.config's ManifestPath setting |
WikiPages |
2026-09-24T11:21:23.7065950+00:00 |
|
|
| Never do destructive in-place rewrites of critical un-backed-up files via a fragile script; use the Edit/Write tools or copy-first |
WikiPages |
2026-09-24T11:21:23.7029196+00:00 |
|
|
| Erik wants to SEE a visualization on screen each time work runs/ships - show a rendered visual (the game/explainer or a live board screenshot), not just text. |
WikiPages |
2026-09-24T11:21:23.6993724+00:00 |
|
|
| Live smoke (boot SPICE.Web, hit /about) catches XSD-validation failures that unit tests miss because tests construct part records in-memory bypassing the XML manifest path. |
WikiPages |
2026-09-24T11:21:23.6960967+00:00 |
|
|
| PRE-TRAINED COMPETENCE - the operator's name for this. Go ALL the way with the SharePoint on-prem XML stack, because every LLM already knows it - fidelity is pre-trained competence, and divergence is a teaching bill you pay on every future prompt. De |
WikiPages |
2026-09-24T11:21:23.6924934+00:00 |
|
|
| SPICE is the source of truth for this seat's memory and MO - My Site /sites/my-claude-code, briefing by stored queries, hooks sync |
WikiPages |
2026-09-24T11:21:23.6887456+00:00 |
|
|
| Namespace-only refactors are signposts toward a destination, not the destination. Label them explicitly so the roadmap stays trustworthy. |
WikiPages |
2026-09-24T11:21:23.6852131+00:00 |
|
|
| How to read "do whats best" / "ok" / "okok" responses from this user — they're delegating strategic calls AND expecting execution, not asking for confirmation. |
WikiPages |
2026-09-24T11:21:23.6817278+00:00 |
|
|
| Always end a unit of work by proactively suggesting next improvements once the operator's intent is understood. |
WikiPages |
2026-09-24T11:21:23.6779007+00:00 |
|
|
| A reasoning model can end a tool-loop turn with reasoning-only content (</think> then nothing) - the phase then \"succeeded\" with EMPTY output and schema validation PASSED it; never return an empty final silently, and never trust a validity flag tha |
WikiPages |
2026-09-24T11:21:23.6742910+00:00 |
|
|
| The Mode=ToolLoop LLM path is a SEPARATE seam from the router/single-shot path - a provider-layer fix to one does not reach the other; fix both. |
WikiPages |
2026-09-24T11:21:23.6705175+00:00 |
|
|
| SPICE represents structured data as ContentType + FieldDefinition + XSLT; YAML frontmatter is a Note-only quirk, not a tool for agent-authored content |
WikiPages |
2026-09-24T11:21:23.6665399+00:00 |
|
|
| The cycle-close tail is now a skill (/spice-close) and served-surface verification is now a crew agent (spice-verify) — use them instead of doing the ~10 close steps by hand. |
WikiPages |
2026-09-24T11:21:23.6630117+00:00 |
|
|
| A ledger/Note edit to plans/cycles.xml is an XML edit — validate well-formedness before committing; a literal < in a Note silently breaks //Cycle XQuery and fails 3 tests (V2516 XQuery x2 + Board.Atlas). |
WikiPages |
2026-09-24T11:21:23.6582657+00:00 |
|
|
| Verify a provisioner-written file (manifest/Parts.xml) by STRUCTURE (element-set diff + isolated single-op diff), not a raw git line-diff |
WikiPages |
2026-09-24T11:21:23.6537070+00:00 |
|
|
| A framework default leaned on at a trust boundary is an assumption, not a fact - measure it, keep the measurement as a permanent test, and let the result set the severity you claim. |
WikiPages |
2026-09-24T11:21:23.6489166+00:00 |
|
|
| A rolling window is the right lens for events and the wrong lens for standing conditions - windowing an unmet obligation makes the metric improve as the obligation ages. |
WikiPages |
2026-09-24T11:21:23.6446313+00:00 |
|
|
| File architectural wisdom/decisions as KB.* KnowledgeArticle parts in SPICE.Web/Config/Parts.xml — the platform's native typed-knowledge surface — not as scratch markdown. |
WikiPages |
2026-09-24T11:21:23.6406149+00:00 |
|
|
| In a Workflow, don't force a JSON `schema` on the constrained SPICE crew agents (spice-impact-scout etc.) - they do the work but skip StructuredOutput. Let crew return prose; one general synthesizer emits the schema. |
WikiPages |
2026-09-24T11:21:23.6365210+00:00 |
|
|
| Everything is the SP-on-prem XML/XSD/XSLT DNA — not JSON; reuse the existing part; don't create a NEW part/thing unless needed AND you ask first |
WikiPages |
2026-09-24T11:21:23.6317388+00:00 |
|
|
| XML is the internal/pipeline contract AND the differentiator (schema-bearing = self-describing outside without explanation); JSON only at the outside boundary when needed; convert to other forms via an XSLT adaptor, not hand-rolled serialization |
WikiPages |
2026-09-24T11:21:23.6267240+00:00 |
|
|
| In an XSLT <style> block, never put literal <tags> in a CSS comment — the XML parser reads them as start tags and breaks XSLT compilation (a 500 / XslLoadException). |
WikiPages |
2026-09-24T11:21:23.6227346+00:00 |
|
|
| Anti-pattern #1: Don't redeclare |
WikiPages |
2026-09-24T11:21:23.6186367+00:00 |
|
|
| Anti-pattern #2: Don't add a parallel rendering stack |
WikiPages |
2026-09-24T11:21:23.5942664+00:00 |
|
|
| Anti-pattern #3: Don't write to storage from agents |
WikiPages |
2026-09-24T11:21:23.5904839+00:00 |
|
|
| Anti-pattern #4: Don't hardcode blueprint or phase names in C# |
WikiPages |
2026-09-24T11:21:23.5865179+00:00 |
|
|
| Anti-pattern #5: Don't inject `IStorageProvider` into a Singleton |
WikiPages |
2026-09-24T11:21:23.5823705+00:00 |
|
|
| Anti-pattern #6: Don't auto-apply deltas |
WikiPages |
2026-09-24T11:21:23.5785345+00:00 |
|
|
| Anti-pattern #7: Don't mutate `Parts.xml` / `SAF-Site-Manifest.xml` from random places |
WikiPages |
2026-09-24T11:21:23.5748181+00:00 |
|
|
| Anti-pattern #8: Don't bypass the policy engine |
WikiPages |
2026-09-24T11:21:23.5712828+00:00 |
|
|
| Anti-pattern #9: Don't put new external integrations in `SPICE.Web/Program.cs` |
WikiPages |
2026-09-24T11:21:23.5679839+00:00 |
|
|
| Anti-pattern #10: Don't put engine code in `SPICE.Web` |
WikiPages |
2026-09-24T11:21:23.5650183+00:00 |
|
|
| Anti-pattern #11: Don't write to storage without going through the same validation
pipeline as the agent path |
WikiPages |
2026-09-24T11:21:23.5619929+00:00 |
|
|
| Anti-pattern #12: Don't escalate every analyzer warning to an error at once |
WikiPages |
2026-09-24T11:21:23.5589430+00:00 |
|
|
| Anti-pattern #13: Don't declare a manifest shape without a startup-time activator |
WikiPages |
2026-09-24T11:21:23.5557943+00:00 |
|
|
| Anti-pattern #14: Don't iterate shared state without per-item try/catch when one bad
item shouldn't kill the rest |
WikiPages |
2026-09-24T11:21:23.5526319+00:00 |
|
|
| Anti-pattern #15: Don't rename when you can ship additively |
WikiPages |
2026-09-24T11:21:23.5492731+00:00 |
|
|
| Anti-pattern #16: Don't widen an Apps-Core-only invariant silently |
WikiPages |
2026-09-24T11:21:23.5460787+00:00 |
|
|
| Anti-pattern #17: Don't ship a write path without a read path |
WikiPages |
2026-09-24T11:21:23.5427545+00:00 |
|
|
| Anti-pattern #18: Don't build an inbound connector to a system the platform can
model natively |
WikiPages |
2026-09-24T11:21:23.5394030+00:00 |
|
|
| Anti-pattern #19: Don't keep a fresh C# pattern when XML would express it within
its rename window |
WikiPages |
2026-09-24T11:21:23.5360968+00:00 |
|
|
| Anti-pattern #20: Don't let plan-slot drift go un-tracked |
WikiPages |
2026-09-24T11:21:23.5328963+00:00 |
|
|
| Anti-pattern #21: Don't confuse hiding the affordance with gating the action |
WikiPages |
2026-09-24T11:21:23.5295003+00:00 |
|
|
| Anti-pattern #22: Don't let a per-item try/catch swallow a total failure |
WikiPages |
2026-09-24T11:21:23.5258073+00:00 |
|
|
| Anti-pattern #23: Don't assert the model when the served surface is what ships |
WikiPages |
2026-09-24T11:21:23.5099540+00:00 |
|
|
| Anti-pattern #24: Don't let a cached/seeded projection mask its source part |
WikiPages |
2026-09-24T11:21:23.4824538+00:00 |
|
|
| Anti-pattern #25: Don't reuse half a seam — verify the reader resolves what the writer produced |
WikiPages |
2026-09-24T11:21:23.4791442+00:00 |
|
|
| Anti-pattern #26: Boot-clean is not endpoint-clean — smoke the served endpoints under Development, not just boot |
WikiPages |
2026-09-24T11:21:23.4755694+00:00 |
|
|
| Anti-pattern #27: Don't pin a test to where a part is authored — assert the resolved spine, not the source file |
WikiPages |
2026-09-24T11:21:23.4722769+00:00 |
|
|
| Anti-pattern #28: When one endpoint hangs but its sibling works, suspect the shared pipeline — a cross-cutting
middleware can silently break a served endpoint whose own code looks correct |
WikiPages |
2026-09-24T11:21:23.4685881+00:00 |
|
|
| Anti-pattern #29: A long session's working tree silently accumulates tool-corrupted XML — diff core spine files with
`--ignore-all-space` before you commit or land, and treat the committed HEAD as canonical |
WikiPages |
2026-09-24T11:21:23.4651132+00:00 |
|
|
| Anti-pattern #30: Don't let an evaluation or observation instrument blame the subject for its own apparatus faults —
separate infra-error from subject-error, and never let activity inflate the score |
WikiPages |
2026-09-24T11:21:23.4615026+00:00 |
|
|
| Anti-pattern #31: Served-verify must be a GATE, not a ritual — a model-proving test suite is capability-theatre-shaped
by default; make the served round-trip an automated test, not a step someone remembers |
WikiPages |
2026-09-24T11:21:23.4581802+00:00 |
|
|
| Anti-pattern #32: A degrade path must cover every sibling path, and a monitor must not depend on what it watches |
WikiPages |
2026-09-24T11:21:23.4548418+00:00 |
|
|
| Anti-pattern #33: A dead-code backlog item is a HYPOTHESIS, not a fact — audit reachability adversarially before you
delete, and build-gate cascading deletions |
WikiPages |
2026-09-24T11:21:23.4514401+00:00 |
|
|
| Anti-pattern #34: Don't prove a triggered path with a hand-built manual call — fire the real trigger |
WikiPages |
2026-09-24T11:21:23.4481029+00:00 |
|
|
| Anti-pattern #35: Generation honesty: an LLM path isn't served until its output is proven REAL — not the Echo stub,
not an empty final |
WikiPages |
2026-09-24T11:21:23.4446485+00:00 |
|
|
| Anti-pattern #36: Orthogonal outcomes are reported independently — never nest one flag's report inside another's
branch |
WikiPages |
2026-09-24T11:21:23.4415892+00:00 |
|
|
| Anti-pattern #37: Teardown must reach quiescence, not just request it — and it may only delete what it authored |
WikiPages |
2026-09-24T11:21:23.4384112+00:00 |
|
|
| Anti-pattern #38: A rolling window is right for events and wrong for a standing condition — window an obligation
and the metric IMPROVES as the obligation ages |
WikiPages |
2026-09-24T11:21:23.4350212+00:00 |
|
|
| Anti-pattern #39: Adding a WRITE path re-opens every invariant that was safe only because nothing could write it —
and a test over the declared FILE proves shipped state, never runtime state |
WikiPages |
2026-09-24T11:21:23.4317621+00:00 |
|
|
| Anti-pattern #40: A data-in-code smell is a HYPOTHESIS, not a finding — check CONSUMERS, DIVERGENCE and
REACHABILITY before refactoring a literal into data |
WikiPages |
2026-09-24T11:21:23.4285938+00:00 |
|
|
| Anti-pattern #41: A green build is not evidence that a dependency is wired |
WikiPages |
2026-09-24T11:21:23.4252479+00:00 |
|
|
| Anti-pattern #42: A guard you have not watched fail is not a guard — plant both failure branches before you
trust it |
WikiPages |
2026-09-24T11:21:23.4217759+00:00 |
|
|
| Anti-pattern #43: A plan is a hypothesis too — price each unit at its own seam, and write the correction back
into the plan |
WikiPages |
2026-09-24T11:21:23.4178438+00:00 |
|
|
| Anti-pattern #44: When a served surface looks wrong, probe the WRITE path before theorising about the
renderer |
WikiPages |
2026-09-24T11:21:23.3923692+00:00 |
|
|