Commit Graph
100 Commits
Author SHA1 Message Date
Marius Ciepluch 361c216402 feat(detection-core): validate reviewed admission payloads 2026-10-31 19:08:14 +01:00
Marius Ciepluch a3cea1096c feat(detection-core): add complete measurement records 2026-10-31 18:45:19 +01:00
Marius Ciepluch 9d266b2f11 feat(detection-core): define fixed measurement algebra 2026-10-31 18:26:24 +01:00
Marius Ciepluch 9488a57a1a feat(detection-core): integrate bounded consumer edge 2026-10-31 18:09:35 +01:00
Marius Ciepluch d4fcde615b feat(detection-core): validate differential proof attachment 2026-10-31 17:52:25 +01:00
Marius Ciepluch 2a44ad938c feat(detection-core): derive bounded verdict outputs 2026-10-31 17:38:30 +01:00
Marius Ciepluch a2788d11b0 feat(detection-core): replay model derivation in validation 2026-10-31 17:30:40 +01:00
Marius Ciepluch 8e1ebd4700 feat(detection-core): add closed evidence validation context 2026-10-31 17:23:38 +01:00
Marius Ciepluch d7785ff5d7 feat(detection-core): add semantic shortcut probes 2026-10-31 17:11:07 +01:00
Marius Ciepluch a1800c0c74 feat(detection-core): apply bounded model corroboration 2026-10-31 16:57:11 +01:00
Marius Ciepluch d28998b262 feat(detection-core): preserve model handoff records 2026-10-31 16:49:20 +01:00
Marius Ciepluch 2796647259 feat(detection-core): replay fact-derived relations 2026-10-31 16:33:53 +01:00
Marius Ciepluch 117b5b4bf7 feat(detection-core): apply reviewed fact effects 2026-10-31 16:08:05 +01:00
Marius Ciepluch 087dcc723f feat(detection-core): validate structural matches and matcher lineage 2026-10-31 15:44:48 +01:00
Marius Ciepluch 08b0eeaac2 feat(detection-core): validate reviewed fact packs 2026-10-31 15:28:14 +01:00
Marius Ciepluch 47ecada02d feat(detection-core): stop promotion on stale readiness 2026-10-31 15:11:01 +01:00
Marius Ciepluch f74069a182 feat(detection-core): record ordered readiness evidence 2026-10-31 15:05:37 +01:00
Marius Ciepluch 3e4951fd30 feat(detection-core): derive measured budgets and enforce scope 2026-10-31 15:00:39 +01:00
Marius Ciepluch 85e2a62ed6 feat(detection-core): account for instrument-safe coverage 2026-10-31 14:46:32 +01:00
Marius Ciepluch 4be22046a9 feat(detection-core): add unlike reference family conformance 2026-10-31 14:39:16 +01:00
Marius Ciepluch 741338f207 feat(detection-core): build exact family catalog resolution 2026-10-31 14:32:37 +01:00
Marius Ciepluch 93404c5e1e feat(detection-core): validate closed family declarations 2026-10-31 14:27:18 +01:00
Marius Ciepluch 93aade237e feat(detection-core): bind evidence packets to neutral decisions 2026-10-31 14:18:51 +01:00
Marius Ciepluch 62c87b39ab feat(detection-core): bind lineage to exact influenced artifacts 2026-10-31 14:13:39 +01:00
Marius Ciepluch edd8a7ec87 feat(detection-core): enforce append-only population custody 2026-10-31 14:08:35 +01:00
Marius Ciepluch 7b9c01319b feat(detection-core): validate complete input provenance 2026-10-31 14:00:47 +01:00
Marius Ciepluch 0d606031e6 feat(detection-core): represent family-neutral semantic evidence 2026-10-31 13:55:12 +01:00
Marius Ciepluch 931697ea37 feat(detection-core): build the strict canonical artifact boundary 2026-10-31 13:39:51 +01:00
Marius Ciepluch 1eb9ef11b5 docs(detection-core): approve v2 implementation plan 2026-10-31 12:35:42 +01:00
Marius Ciepluch 2c594b2c27 docs(benchmarks): 8.2 final gated round - dev funnel 11.9->19.2 complete, admission NO-GO #3, arm parked
Lever: unique-declaration member-call binding (dc28325). Measurement 1: zero movement
on in-family sites (0 unique-name member calls exist there; unresolved mass is framework
callee names). Screen: all 264 admission records byte-identical at dc28325. Measurement 2
(dev pool, single-lever isolation): complete-share 11.9->19.2 (+360478, exact conservation),
recall/location/FA identical, 5 ordinary none->indeterminate. Measurement 3 (ac-admission-3,
fresh freeze, criteria byte-identical): NO-GO #3, same four gates, 0/12 pairs, 264/264
fresh dc28325-stamped records. Stop condition fired: access-control arm parked permanently
(rule-11 fallback). Remaining gap: entry recognition (4/12 zero-recognition; coverage
8/12) and framework operation facts, not call resolution.
2026-10-31 09:02:59 +01:00
Marius Ciepluch dcdf04bfbc docs(benchmarks): express-pack admission provenance note for the 17 in-flight records 2026-10-31 08:48:25 +01:00
Marius Ciepluch dc2832564a feat(detection-core): unique-declaration member-call binding (8.2 final gated round step 1-2)
x.method() with a variable receiver binds complete iff exactly one same-name
method declaration exists repository-wide; collisions stay a finite candidate
set (receiver_type_unknown) and module-level functions never bind. Authorized
by maintainer strategy-review 2026-10-31; gated by dev-pool FA non-regression.
2026-10-31 07:10:36 +01:00
Marius Ciepluch 1481bb33d7 docs(steering): record maintainer strategy-review outcome - one final gated resolution round 2026-10-31 06:50:46 +01:00
Marius Ciepluch 62c8d21667 docs(benchmarks): 8.2 admission gate - recognition doubled, NO-GO #2, stop condition fired 2026-10-30 20:55:38 +01:00
Marius Ciepluch 6024152c48 fix(benchmarks): fact_manifest_ref digests entry-pack JSON symmetrically with disk 2026-10-30 20:45:39 +01:00
Marius Ciepluch a8a28f81f3 feat(detection-core): JS handler extraction for bind(this)/arrow/class-method routes (8.2 part 3); fold in load_pack_file repairing 51971cd import 2026-10-30 20:10:22 +01:00
Marius Ciepluch 51971cda7e feat(detection-core): package-rooted entry packs wired into JS recognition; fact digest covers packs (8.2 part 2) 2026-10-30 19:25:30 +01:00
Marius Ciepluch 1d5a509424 feat(detection-core): recognition target table and first express fact pack (8.2 part 1) 2026-10-30 18:46:19 +01:00
Marius Ciepluch 4a1167dfdd feat(detection-core): 8.1 prover native conformance to core trace/coverage contracts 2026-10-30 18:37:04 +01:00
Marius Ciepluch b5c26f52e8 docs(detection-core): bind integration phase into roadmap and task plan 2026-10-30 18:00:59 +01:00
Marius Ciepluch 1cd6a39aaf docs(detection-core): mark all task groups complete 2026-10-30 17:12:43 +01:00
Marius Ciepluch af400c6be4 feat(detection-core): runner migration onto core contracts, schema validation, E2E 2026-10-30 17:12:33 +01:00
Marius Ciepluch c924a69514 feat(detection-core): fact-pack admission and push-consumer contracts 2026-10-30 17:05:24 +01:00
Marius Ciepluch 43fd59f960 feat(detection-core): anti-shortcut probes and fitted-component admission gate 2026-10-30 16:27:27 +01:00
Marius Ciepluch 46b4579d01 feat(detection-core): generalized admission contract with family-scope reports 2026-10-30 16:22:40 +01:00
Marius Ciepluch eb9fe856f9 feat(detection-core): prover trace/coverage conformance adapters to the core contract 2026-10-30 16:18:22 +01:00
Marius Ciepluch 92fb372498 feat(detection-core): measured per-class budget replacing the static 120s gate 2026-10-30 16:11:37 +01:00
Marius Ciepluch 0b56ad5514 feat(detection-core): foundation contract package (trace, verdict, coverage, provenance) 2026-10-30 16:04:10 +01:00
Marius Ciepluch 839d58e3d3 docs(steering): detection-quality rules and stop conditions after admission NO-GO 2026-10-30 14:48:40 +01:00
Marius Ciepluch 1edc4790af feat(access-control-prover): 13.4 admission measurement 2026-10-30 13:25:34 +01:00
Marius Ciepluch d063167b28 feat(access-control-prover): 13.3 four-arm development regression 2026-10-30 12:37:19 +01:00
Marius Ciepluch 9c95f842f7 feat(access-control-prover): 12.6 paired scoring and admission report 2026-10-30 10:25:37 +01:00
Marius Ciepluch 494c29182d feat(access-control-prover): 12.5 admission manifest consumption 2026-10-30 10:13:09 +01:00
Marius Ciepluch ea33222bf6 feat(access-control-prover): 12.4 four-arm development comparison 2026-10-30 09:44:27 +01:00
Marius Ciepluch 282a085f77 feat(access-control-prover): 12.3 instrument and hard runtime gates 2026-10-30 08:53:05 +01:00
Marius Ciepluch eb30d0386c feat(access-control-prover): 12.2 record provenance, stage funnel and judgment transitions 2026-10-30 08:38:58 +01:00
Marius Ciepluch 733e17ed3e feat(access-control-prover): 12.1 analyzer bundles 2026-10-30 08:38:09 +01:00
Marius Ciepluch 9e0a901ccc feat(access-control-prover): 13.2 cross-component validation scenarios 2026-10-30 08:19:25 +01:00
Marius Ciepluch f8e134a159 feat(access-control-prover): 13.1 abstract-domain and metamorphic law validation 2026-10-30 08:09:02 +01:00
Marius Ciepluch 85aa3b1484 feat(access-control-prover): 11.7 first label-blind development acquisition 2026-10-29 21:04:51 +01:00
Marius Ciepluch acadf04109 feat(access-control-prover): 11.6 migrate the stapler recogniser through the registry 2026-10-29 20:59:37 +01:00
Marius Ciepluch 3f241bc595 feat(access-control-prover): 11.5 acquisition provenance and label-isolated mode 2026-10-29 20:49:39 +01:00
Marius Ciepluch 09c3ffd621 feat(access-control-prover): 11.4 verify and promote proposed target knowledge 2026-10-29 20:34:52 +01:00
Marius Ciepluch c0e1360149 feat(access-control-prover): 11.3 extract existing target knowledge into candidate records 2026-10-29 20:29:15 +01:00
Marius Ciepluch c279513def feat(access-control-prover): 11.2 generic call-site registration strategy 2026-10-29 20:23:50 +01:00
Marius Ciepluch 86709daf2e feat(access-control-prover): 11.1 entry-recognition strategy registry 2026-10-29 20:19:31 +01:00
Marius Ciepluch 82e4a1ad97 feat(access-control-prover): 10.6 three-way judgments in the prover 2026-10-29 19:34:44 +01:00
Marius Ciepluch 95dfddb018 feat(access-control-prover): 10.5 multi-path aggregation in the opt-in abstract mode 2026-10-29 19:20:24 +01:00
Marius Ciepluch f700b99637 feat(access-control-prover): 10.4 one judgment per path 2026-10-29 19:17:37 +01:00
Marius Ciepluch 7eb491dc82 feat(access-control-prover): 10.3 authority matching through promoted implications 2026-10-29 19:11:30 +01:00
Marius Ciepluch cf60e02804 feat(access-control-prover): 10.2 witness kind, scope and resource matching 2026-10-29 19:05:51 +01:00
Marius Ciepluch 8ad304ffeb feat(access-control-prover): 10.1 abstract dominance relations without prover fallback 2026-10-29 19:01:25 +01:00
Marius Ciepluch f23d3f986d feat(access-control-prover): 9.4 exact evidence paths from summaries 2026-10-29 18:46:41 +01:00
Marius Ciepluch 06d5363ce2 feat(access-control-prover): 9.3 summary caches and explicit exploration cutoffs 2026-10-29 18:37:06 +01:00
Marius Ciepluch c237626f7a feat(access-control-prover): 9.2 monotone summaries over recursive call components 2026-10-29 18:30:18 +01:00
Marius Ciepluch fffa3e0002 feat(access-control-prover): 9.1 local function summaries 2026-10-29 18:25:23 +01:00
Marius Ciepluch 2466670ba3 feat(access-control-prover): 8.4 inheritance and base-declaration attachment through repo-defined descendants 2026-10-29 16:10:44 +01:00
Marius Ciepluch 8ef2629e0b feat(access-control-prover): 8.3 exact, finite-candidate and unresolved call targets 2026-10-29 16:04:51 +01:00
Marius Ciepluch 6f2154fae0 feat(access-control-prover): 8.2 stable declaration identities and per-change symbol index 2026-10-29 15:45:29 +01:00
Marius Ciepluch 9eee4d7f35 feat(access-control-prover): 8.1 capture call receiver and arity evidence in the semantic IR 2026-10-29 15:33:18 +01:00
Marius Ciepluch 03807f4ddd feat(access-control-prover): task 7.4 - judgment, trace and coverage contracts with abstract state 2026-10-29 15:23:43 +01:00
Marius Ciepluch 2f97fb2693 feat(access-control-prover): 7.3 authority abstract values and promoted implication facts 2026-10-29 15:06:53 +01:00
Marius Ciepluch 351583a04f feat(access-control-prover): 7.2 resource abstract values and operation-fact fields 2026-10-29 14:48:53 +01:00
Marius Ciepluch 5697a7fe9e feat(access-control-prover): 7.1 evidence-relation algebra and completeness value 2026-10-29 14:11:13 +01:00
Marius Ciepluch 0d2b4cf15d docs(spec) access-control-prover: abstract-interpretation amendment -- evidence algebra, stable symbols, label-blind acquisition, admission discipline 2026-10-29 13:31:40 +01:00
Marius Ciepluch 152f405bcf docs(spec,steering): lift access-control-prover to capability level; engine/target split, pattern discipline, complexity caps, breadth map 2026-10-29 12:27:44 +01:00
Marius Ciepluch f09dc66592 docs(spec) access-control-prover: design amendment -- resolution, resource-bound guards, programmatic registration 2026-10-29 12:10:37 +01:00
Marius Ciepluch 3de96c88f6 docs(steering): terminology rule -- name the behavior, not the virtue 2026-10-29 11:57:51 +01:00
Marius Ciepluch bc896d2779 docs(spec) access-control-prover: post-measurement requirements amendment 2026-10-29 11:57:15 +01:00
Marius Ciepluch 37b0a593a7 docs(roadmap): gate 5 decision -- fix trace resolution first, injection spec deferred 2026-10-28 20:12:37 +01:00
Marius Ciepluch efdb66bc73 measure(ablation) gate 3: miss and false-alarm trace-component taxonomy 2026-10-28 20:06:40 +01:00
Marius Ciepluch 0b1d41d01b measure(judge) gate 2: zero-shot judge over prover findings 2026-10-28 19:43:59 +01:00
Marius Ciepluch b247da9e82 chore: add copilot instructions 2026-10-28 18:59:01 +01:00
Marius Ciepluch a60e9bda9d measure(search): 2026-10-07 shiftleft sql-vuln pilot records 2026-10-28 18:59:01 +01:00
Marius Ciepluch fcf05f7755 bench(unseen): p1 pool, draft and bisect freeze artifacts 2026-10-28 18:59:01 +01:00
Marius Ciepluch c5341d79a2 measure(prover): gate 1 on the 23-repo training pool: recall 65.2% (Wilson 44.9-81.2), 15.0 FA/100, 0 instrument failures; 4/5 on the hunt overlap incl. trigger.dev 2026-10-28 18:59:01 +01:00
Marius CiepluchandClaude Fable 5.1 03d925fffa spec/steering: the decision strategy corrected: software features do not decide safety; the trace does, the pool measures and never trains
Maintainer's finding of 2026-10-14 recorded in hunter-learning-loop (a dated section that overrides the shape
annotations as the model's input), its design (amendment pointing to the prover's trace) and the steering
overview's current state.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-14 19:40:12 +02:00
Marius CiepluchandClaude Fable 5.1 03b114cbeb feat(prover): delivery D: control flow decides dominance; the trace carries each guard's relation, effect and the operation's control context
Opus agent delivery under spec access-control-prover, requirement 10. `semantic/cfg.py` builds a control-flow
graph per function from the syntax tree (if/else, switch arms, loops, try/catch/finally, return, throw, break,
continue, exit, assert) with dominators and a per-line control context, and leaves a function without a graph
rather than a wrong one. `obligations/cfg_dominance.py::CfgDominance` discharges a statement guard only when it
lies on every path to the operation and the operation is unreachable from its failing arm; a predicate whose
result nothing consumes is `value_only` and never discharges; router, decorator and earlier-hop witnesses behave
as before; without a graph the order rule applies and `cfg_unavailable` is recorded. The trace's guards carry
`relation` and `effect`, the trace carries `operation_context`; Java parameter lists carry names only; a
handler-named operation's arguments are the handler's parameters. The checker's default stays order-based.

Smoke on the 23 fix changes: 15 caught, 55 of 93 locations, precision 15 of 15, no failure, no change over
120 s (unchanged from delivery B). Gate: 3575 tests pass; the reserved-repository guard passes on the export.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-14 19:01:07 +02:00
Marius CiepluchandClaude Fable 5.1 6c3d4a7d72 spec(access-control-prover): a guard whose passing branch alone holds the operation discharges it (effect branches)
Raised by the implementing agent: the design named only exits on the failing arm; if (can(x)) { op(); } is the
common shape and the operation is unreachable from the failing arm there too.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-14 18:28:10 +02:00
Marius CiepluchandClaude Fable 5.1 2f628b921b feat(prover): delivery C: the ordered trace with argument provenance for every examined pair
Codex delivery under spec access-control-prover, requirement 9. `semantic/obligations/trace.py` serialises each
(entry, operation) pair the prover examined, discharged or unguarded: the entry with its boundary, access and
parameters; each hop in order with its call line, the guards before the call and the values forwarded; the
operation with the provenance of each argument traced through the function's binds; the guards after it; the
verdict. One canonical text form and one JSON form, no language, framework, repository, size or count fields.
The prover result, the arm record and each unguarded finding carry the traces. On the ec2-plugin fix: 32
traces, 4 unguarded. Gate: 3534 tests pass; the reserved-repository guard passes on the tracked export.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-14 18:22:45 +02:00