Skip to content

Record Amendments A2 and A3 to the modeling matrix - #77

Merged
DavidBakerEffendi merged 1 commit into
mainfrom
dave/modeling-amendments-a2-a3
Aug 26, 2026
Merged

Record Amendments A2 and A3 to the modeling matrix#77
DavidBakerEffendi merged 1 commit into
mainfrom
dave/modeling-amendments-a2-a3

Conversation

@DavidBakerEffendi

Copy link
Copy Markdown
Collaborator

Summary

The two amendments surfaced by the first wave-M1 run (Python), recorded per the amendment contract and approved by the maintainer:

  • A2 — Joern P/O → unsupported activation: FlowSemantic on the pinned 4.0.610 is additive over the default unmodeled-call pass-through (probed: removing the declaration leaves the finding standing; positional mappings don't exclude undeclared positions; summary field-destinations are ignored). A P or O result would score the engine's optimism, not the model. Category Z stays scored — NilSemantics was demonstrated genuinely load-bearing. The measured-false "no FlowMapping propagates nothing" justification is corrected in docs/adapters.md.
  • A3 — Semgrep template 6 → template-level unsupported override: the mandated taint_assume_safe_functions: true (which keeps propagator models load-bearing) itself suppresses flow through the undeclared sanitizer-lookalike, so sanitizer-selectivity's positive is undecidable by construction in one CE invocation. Sanitizer-kill stays scored.

Scored-template counts: Bifrost 2 / Semgrep 5 / Joern 8 / CodeQL 12. The partition code carries both rationales verbatim in the retained unsupported reasons; the count-pinning and Semgrep-set tests updated; a new template-level override mechanism handles A3 (consulted before the category cell, same tag-proof discipline).

Doc-only + partition code; no fixtures, no runs, no corpus changes; no freeze binds any modeling report.

Validation

cargo fmt --check · cargo test (127) · validate (744).

🤖 Generated with Claude Code

A2: Joern's propagator and summary categories move to unsupported
activation — the first wave-M1 run measured FlowSemantic on the pinned
4.0.610 as additive over the default unmodeled-call pass-through, so a P or
O result scores the engine's optimism rather than the model; NilSemantics
stays genuinely load-bearing, so category Z remains scored. The
preregistration's "no FlowMapping propagates nothing" justification is
corrected where it appears.

A3: Semgrep's sanitizer-selectivity cell becomes a template-level
unsupported override — the mandated taint_assume_safe_functions option
itself suppresses flow through the undeclared sanitizer-lookalike, making
the cell's positive undecidable by construction; sanitizer-kill stays
scored.

Partition counts move to Bifrost 2 / Semgrep 5 / Joern 8 / CodeQL 12, with
the amendment rationale carried verbatim in the retained unsupported
reasons.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@DavidBakerEffendi
DavidBakerEffendi merged commit 97eedcc into main Aug 26, 2026
2 checks passed
@DavidBakerEffendi
DavidBakerEffendi deleted the dave/modeling-amendments-a2-a3 branch August 26, 2026 11:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant