Commit Graph
53 Commits
Author SHA1 Message Date
Marius Ciepluch 56fb129b7c feat(access-control-prover): record authority review ceremony 2026-11-01 17:01:44 +01:00
Marius Ciepluch a5ebc69a6e feat(access-control-prover): decode installed fact authority 2026-11-01 16:56:26 +01:00
Marius Ciepluch a2ffbacd05 docs(access-control-prover): approve installed authority ceremony 2026-11-01 16:45:39 +01:00
Marius Ciepluch 83e3088bf5 docs(access-control-prover): block self-authorized migration 2026-11-01 15:19:11 +01:00
Marius Ciepluch 18dc25b718 feat(access-control-prover): authenticate fact authority 2026-11-01 15:09:28 +01:00
Marius Ciepluch fd3d8ac1e6 feat(access-control-prover): define production family contract 2026-11-01 15:02:04 +01:00
Marius Ciepluch 30df6b36ba docs(access-control-prover): locate family contract boundary 2026-11-01 14:58:53 +01:00
Marius Ciepluch 8991f44ee3 docs(access-control-prover): own reviewed fact authority 2026-11-01 14:58:22 +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 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 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 52ecbb76ab spec(access-control-prover): control flow decides dominance; the trace carries each guard's relation, effect and the operation's control context
Requirement 10, the structural control-flow graph per function and CfgDominance behind the existing protocol,
tasks 4.4 and 4.5. Textual order stays the checker's default; the prover selects control flow.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-14 18:07:09 +02:00
Marius CiepluchandClaude Fable 5.1 12d09faeed spec(access-control-prover): the ordered trace with argument provenance is the prover's output for every examined pair
The maintainer's correction: counts over a function, language or framework carry nothing about safety; the
object a decision model may see is the path from an attacker-reachable entry to a protected operation, with the
checks on it in control-flow order and the provenance of the operation's arguments. Requirement 9, the trace
contract and tasks 4.2 and 4.3.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-14 17:56:50 +02:00
Marius CiepluchandClaude Fable 5.1 17e07b36c4 feat(prover): delivery B: handler-named operations, Symfony, Livewire, Remix and Tornado entries, enforcement witnesses, memoised path walk
Codex delivery under spec access-control-prover plus one fix of mine. Operation rows may now name a handler by
name pattern and framework (Jenkins form validation and list filling, Tornado request methods, Remix actions);
the mapper recognises Symfony, Livewire and Laravel controllers, Remix exports and Tornado handlers;
`obligations/enforcement.py` turns Laravel route middleware, Symfony attributes and security.yaml rules and
Tornado's authenticated decorator into router and decorator witnesses. The path walk looks each node's callers
up once per change and does not walk a tree with no recognised entry: one seatunnel change fell from 670 s to
35 s. One name Codex could not source (Tornado get_current_user) is left out and said so in the facts header.

Smoke on the 23 fix changes: 15 pushes caught (65 percent, Wilson 45 to 81), 55 of 93 locations, precision
15 of 15 flagged, no instrument failure, no change over 120 s. Delivery A caught 7.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-14 17:31:07 +02:00