mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-11-13 17:58:18 +00:00
docs(access-control-prover): own reviewed fact authority
This commit is contained in:
@@ -70,6 +70,8 @@ remain readable but are never rewritten or used as a v2 trend baseline.
|
||||
orchestration.
|
||||
- Proof search, sandbox execution, oracle semantics, and demonstration qualification.
|
||||
- Push scoping policy, alert rendering, capability rollout, and BLOCK enablement.
|
||||
- Production vulnerability-family contracts, target-specific authority bundles, structural
|
||||
matchers, and match-artifact persistence. Those belong to the downstream family spec.
|
||||
|
||||
### Allowed Dependencies
|
||||
|
||||
@@ -85,6 +87,9 @@ remain readable but are never rewritten or used as a v2 trend baseline.
|
||||
- Authorization, DSPy, search-proof, benchmark, and push adapters may import the public core
|
||||
contract.
|
||||
- Development and admission populations are read-only identities at the core boundary.
|
||||
- Downstream family adapters may inject typed contracts, packs, matches, policies, lineages,
|
||||
custody ports, content resolvers, and persisted content references. Core validates and
|
||||
applies those objects but never imports the target adapter or creates its authority.
|
||||
- No core module imports `openultrasast.semantic`, `openultrasast.hunt`,
|
||||
`openultrasast.search`, `openultrasast.tools`, `benchmarks`, or `dspy`.
|
||||
|
||||
@@ -293,10 +298,6 @@ not execute proof or family analysis.
|
||||
for core types; remains the authorization-family trace domain.
|
||||
- `src/openultrasast/hunt/prover.py` — sends authorization results through
|
||||
`semantic/obligations/core_adapter.py`; it does not define neutral core types.
|
||||
- `src/openultrasast/mapping/entry_packs.py` — consumes versioned typed packs and supplies
|
||||
structural match evidence.
|
||||
- `src/openultrasast/ruleset/entries/express.json` — migrates metadata and fact rows to the
|
||||
v2 pack schema without changing target behavior.
|
||||
- Existing `tests/test_core_*.py` files — authorization assumptions move to adapter or
|
||||
legacy tests; neutral tests use the two reference contracts.
|
||||
- `tests/test_core_contract.py` — replaces the assertion that no model path exists with the
|
||||
@@ -1069,6 +1070,17 @@ record's evaluation population. Matching behavior influenced by the admission
|
||||
population's labels therefore spends that population and cannot complete a relation in the
|
||||
same admission run.
|
||||
|
||||
#### Downstream Fact-Adapter Seam
|
||||
|
||||
A downstream vulnerability-family adapter owns its production `FamilyContract`, reviewed
|
||||
packs, structural matcher, and persistence of canonical `StructuralObservation` and
|
||||
`FactMatchEvidence` bytes. It supplies those typed objects, their content references,
|
||||
lineages, policies, custody port, and resolver to the core. Core only revalidates the pack,
|
||||
match, provenance, and relation application; it neither imports target modules nor mints
|
||||
missing trust or evidence. A legacy recognition projection may coexist during downstream
|
||||
migration, but it is non-authoritative and cannot construct v2 evidence, readiness, or
|
||||
admission by itself.
|
||||
|
||||
#### Evidence Validation Composition
|
||||
|
||||
| Field | Detail |
|
||||
@@ -2545,6 +2557,10 @@ spec and consumes only status, counts, and digests.
|
||||
pack plus valid structural match. Direct `apply_fact` use with an unreviewed pack, wrong
|
||||
review policy, or protected-population matcher contamination is refused (`4.4`, `10.4`,
|
||||
`11.1–11.5`, `13.3–13.4`).
|
||||
- Downstream conformance fixture: inject a complete family-owned contract, reviewed pack,
|
||||
persisted structural match, lineages, policies, custody and resolver; prove generic core
|
||||
validation succeeds while name-only, partial, substituted, self-authored, contaminated,
|
||||
or legacy-projection-only inputs are refused (`10.2`, `11.1–11.5`, `14.3`).
|
||||
- `test_core_admission.py`: consume-only refusal order, readiness prerequisites, threshold
|
||||
feasibility over label-blind census capacities and Wilson bounds, the historical
|
||||
impossible-denominator regression, scoring derived from full case evidence, fixed
|
||||
|
||||
@@ -598,3 +598,31 @@ requirements approval.
|
||||
refused before report production, and out-of-scope-only calls do not alter the arm's gate.
|
||||
- **Boundary:** replay production remains part of task 8.9. Task 8.10 consumes and validates
|
||||
the replay before fitted-component checks and refuses raw reports.
|
||||
|
||||
---
|
||||
|
||||
## Downstream fact-authority boundary correction (2026-11-01)
|
||||
|
||||
### Scope and finding
|
||||
|
||||
- **Trigger:** task 9.4 could not migrate the legacy Express pattern pack without either
|
||||
inventing reviewer/custodian authority inside mapping or removing current recognition.
|
||||
- **Instrument evidence:** the installed `express.json` was read at 963 bytes; the legacy
|
||||
and v2 fact suites passed 80 tests, confirming this was not an unread-input or broken-core
|
||||
diagnosis.
|
||||
- **Finding:** the attempted core task decomposition put a production access-control
|
||||
contract, target authority, matcher, and artifact writer into the neutral core. That
|
||||
violated the engine/target split even though the generic validators were already sound.
|
||||
|
||||
### Decision: downstream ownership plus core conformance
|
||||
|
||||
- `access-control-prover` owns its production family contract, reviewed target packs,
|
||||
externally authenticated authority bundle, matcher, and canonical observation/match
|
||||
artifact writer. Its bootstrap trust remains external to the authenticated bundle.
|
||||
- Detection-core owns only family-neutral validation and relation application. Its task 9.4
|
||||
becomes a conformance gate over downstream-produced objects and cannot import target code.
|
||||
- The legacy recognition projection remains downstream-owned, byte-stable, and explicitly
|
||||
non-authoritative until cutover. Name-only recognition cannot produce complete v2 evidence.
|
||||
- The downstream spec must first deliver authority, reviewed packs, persistence, and the
|
||||
structural adapter. Core conformance then proves those objects satisfy the generic
|
||||
contract before readiness, admission, or single-writer cutover can depend on them.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"feature_name": "detection-core",
|
||||
"created_at": "2026-10-30T13:55:30Z",
|
||||
"updated_at": "2026-11-01T10:15:05Z",
|
||||
"updated_at": "2026-11-01T13:57:54Z",
|
||||
"language": "en",
|
||||
"phase": "tasks-generated",
|
||||
"approvals": {
|
||||
|
||||
@@ -326,15 +326,15 @@
|
||||
- _Requirements: 9.6, 14.2, 14.3_
|
||||
- _Boundary: Proof Adapter_
|
||||
- _Depends: 7.4_
|
||||
- [ ] 9.4 (P) Migrate the existing entry-pack loader to the reviewed v2 schema
|
||||
- Translate existing metadata and fact rows without adding framework vocabulary or changing target behavior.
|
||||
- Supply complete structural match evidence and pack/fact/matcher provenance to the shared fact validator.
|
||||
- Keep acquisition and review ownership outside core.
|
||||
- Done when the migrated existing pack produces byte-stable behavior through v2 and partial/name-only matches remain incomplete.
|
||||
- _Requirements: 10.2, 11.1, 11.2, 11.3, 11.4, 11.5, 14.3_
|
||||
- _Boundary: Fact Pack Adapter_
|
||||
- [ ] 9.4 Accept downstream reviewed fact-adapter conformance evidence
|
||||
- Consume the immutable conformance fixture and manifest produced by the downstream family adapter without constructing its contract, packs, matches, authority, or target data in core.
|
||||
- Re-run only the family-neutral fact-pack, fact-match, relation-application, full-evidence, canonical-reference, and import-boundary checks named by that handoff.
|
||||
- Verify the manifest accounts for complete, name-only, partial, substituted, self-authored, protected-population-contaminated, and legacy-projection-only cases.
|
||||
- Done when the downstream handoff is accepted by generic validators and core remains free of target imports; adapter implementation and target-specific fixtures remain downstream-owned.
|
||||
- _Requirements: 10.2, 10.4, 11.1, 11.2, 11.3, 11.4, 11.5, 13.4, 14.3_
|
||||
- _Boundary: Fact Pack Adapter Conformance_
|
||||
- _Depends: 5.4_
|
||||
- _Blocked: task decomposition is missing an externally owned production family contract, reviewed authority bundle, lineage/custody wiring, matcher identity, and approved legacy-to-v2 semantic mapping; self-authorizing defaults are prohibited_
|
||||
- _Blocked: consume the handoff only after access-control-prover tasks 14.1–14.6 produce the downstream artifacts and immutable conformance manifest_
|
||||
- [ ] 9.5 (P) Produce readiness and development records through benchmark-owned adapters
|
||||
- Construct canonical readiness results while leaving sequencing and persistence with benchmark workflows.
|
||||
- Emit development observations with v2 identities, evidence-use roles, instrument receipts, and prerequisite ancestry.
|
||||
@@ -367,6 +367,8 @@
|
||||
- Retain the read-only legacy decoder and refuse comparison between v1 and v2 baseline identities.
|
||||
- Done when no production writer/import targets the v1 contract, historical fixtures remain unchanged, and all public writes use v2.
|
||||
- _Requirements: 14.3, 15.3_
|
||||
- _Depends: 9.4_
|
||||
- _Blocked: access-control-prover task 14.7 must migrate the production caller and prove a zero-bypass census after task 9.4 accepts the handoff_
|
||||
|
||||
- [ ] 11. Validate readiness, failure visibility, and implementation boundaries
|
||||
- [ ] 11.1 Run both reference families through the complete synthetic readiness path
|
||||
@@ -395,6 +397,7 @@
|
||||
- Prove each test instrument read nonzero fixture bytes before interpreting zero findings or failures.
|
||||
- Done when the complete suite passes, boundary/import censuses are clean, historical bytes are unchanged, and all declared adapter and consumer seams pass conformance.
|
||||
- _Requirements: 1.4, 10.4, 14.3, 15.3, 15.4_
|
||||
- _Depends: 9.4_
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
|
||||
Reference in New Issue
Block a user