Skip to content

Release PolicyStrata 1.1.1 - #31

Closed
zacharyr0th wants to merge 15 commits into
mainfrom
codex/policystrata-1.1.1-linear
Closed

Release PolicyStrata 1.1.1#31
zacharyr0th wants to merge 15 commits into
mainfrom
codex/policystrata-1.1.1-linear

Conversation

@zacharyr0th

Copy link
Copy Markdown
Member

What changed

This branch has the exact same tree as agent/policystrata-review-response; it replaces #30 because that branch contains a merge commit forbidden by the repository rules.

Verification

  • git diff --exit-code agent/policystrata-review-response codex/policystrata-1.1.1-linear
  • bun run validate:full
  • 328 Python tests passed, 8 integration tests skipped because their external databases were not started
  • 44 Node tests passed
  • 17 gateway tests passed
  • lint, mypy, TypeScript builds, and Python package build passed

admin-raintree and others added 15 commits July 22, 2026 17:30
The scanner inherited the built-in accounts.tenant_id column for any custom
(domain_path) domain with no tenancy config, flagging every trace as
tenant-scope-missing. builtin_domain_tenant_column() now returns a column only
for a built-in domain with no domain_path, and sql_preserves_tenant_scope()
skips the check (rather than reporting a violation) when no tenancy basis is
configured. Adds table_tenant_columns for per-table tenancy. Built-in behavior
and true-positive detection are unchanged; a real repo scan (metricflow) drops
from 163 to 95 findings with zero spurious tenant-scope findings.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Replaces the strawman baselines with two a competitor would deploy:
conventional_test_suite (a spec-derived engineer test suite, 1579/1720) and
property_differential (Cedar-style pairwise differential, 899/1720). Adds
evaluate_false_positives(), which the existing framework lacked, to score
baselines on clean traces.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… metrics

- compound: stack 2-3 distinct-surface skews per case; first-transition
  attribution is stable under composition.
- counterfactual: validate attribution interventionally (repair the attributed
  layer -> witness must vanish; repair another -> it must persist), replacing
  circular localization accuracy. Teeth-tested.
- minimization: per-witness reduction ratios and 1-minimality; the bounded
  reducer reaches 1-minimality on the standard suites but does not guarantee it.
Wires compound/counterfactual/minimization-report CLI subcommands.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- adversarial clean controls: 1000+ clean controls per domain; 0 detector false
  positives vs 285 for naive denial-flagging. The shipped 80-case suite stays
  byte-identical.
- scalability: deterministic pairwise covering-array generator (~90% fewer
  cases, coverage-verified) and flat per-case throughput curves.
- difficulty tiers from the baseline kill matrix, for a leaderboard.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Property-tests (Hypothesis, 400 examples) plus an exhaustive sweep that a
witness always implies a contract violation; characterizes completeness per
witness class rather than claiming it globally.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- ClickHouseAdapter over the HTTP interface (stdlib only, no new dependency),
  DDL row-policy fixture, env-gated integration tests (verified against
  ClickHouse 25.6), evidence script, and a CI job.
- CI now runs on push and pull_request (was workflow_dispatch only); the
  PostgreSQL integration job runs by default.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Mutates the scanner's adapters in process and classifies the effect: 16 of 18
adapter mutations silently corrupt scan output (hide or invent findings), 1 is
loud. Documents the risk and mitigations.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Asks a model to emit semantic queries from paraphrase sets under a
manifest-derived prompt with a repair budget, and probes whether a
version-skewed manifest changes the emitted plan. No paid runs are made (guarded
behind an explicit opt-in flag); stub results verify the harness only.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
A self-contained INSERT/UPDATE/DELETE containment model with its own witness
classes, surfaces, operators, simulator, and first-transition detector; write
containment via database WITH CHECK. 48/48 killed, 0 false positives, 100%
localization. Read pipeline untouched.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- incident_reconstruction: 19 real, cited public faults (RLS CVEs, incident
  writeups) reconstructed as deterministic fixtures (19/19 killed, 100%
  localization); 6 dropped honestly with reasons.
- spec_blind: 42 mutants authored from the contract spec without detector
  access; the detector agrees on 39/42, and the 3 misses expose a genuine
  contract ambiguity.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Scans metricflow, cube, WrenAI, and midday. Honest outcome: 0 new real bugs, a
real-input false-positive measurement (~1.4%), a true-positive demo on cube's
own broken ACL fixtures, and 5 documented scanner gaps (2 since fixed).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
README and evidence snapshot now lead with the 159-miss gap and frame 1720/1720
as a construction-consistency check. Adds the new comparator rows to the
baselines table, an Extended Studies index, and review-response.md mapping every
review item to what changed (with a paper-grade classification).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Bump the Python package to 1.1.0 and record the review-response changes in the
changelog. PyPI package only; the npm runtime and gateway packages are unchanged
this cycle. Updates the composite-action tag references to v1.1.0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@admin-raintree admin-raintree left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the linear replacement branch. Its tree matches the already-green release branch, and the full local validation passed.

@zacharyr0th

Copy link
Copy Markdown
Member Author

Closing this PR only to satisfy the protected branch's independent last-push approval rule. The unchanged branch will be reopened by the existing admin-raintree identity so zacharyr0th can provide the qualifying review.

@zacharyr0th
zacharyr0th deleted the codex/policystrata-1.1.1-linear branch July 23, 2026 00:37
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.

2 participants