Skip to content

Measure security and data protection as primary dimensions in the efficacy benchmark #1767

Description

@braboj

Round 3. Re-sequenced 2026-09-17 after round 1's report: round 2 is #1795 (file length and context model), and this round runs on its winning arm against A.

Part of #1184.

Owner decisions, 2026-09-16, taken after the round-1 report:

  • Security and data protection become primary dimensions. The report leads with them, and they can trigger the K = 5 escalation.
  • Round 2 extends tariff, the dev set. ledger stays sealed for the final v3.0 claim.
  • Arm C's hand-written file gains data-protection lines and stays within 40 lines.
  • Round 1's nine change tasks run before the specification changes.

Tasks

  • Pre-register the two dimensions in docs/design/efficacy-benchmark.md: metrics, directions, margins and escalation thresholds, committed before any round-2 trial.
  • Extend tests/efficacy/SPEC.md: customers with personal data, sign-in with one seeded administrator, erasure of a customer on request, and export of one customer's data. The spec names what the app must do, never the practice, because the practice is what a context file adds.
  • Extend the private hidden suite and its reference implementation to the new specification, with the mutation control re-run, before any trial.
  • Probe security and data protection in scoring: plaintext password at rest, a sentinel email absent from logs, erasure removing the sentinel from the database file, sign-in failures that do not enumerate accounts, no open redirect after sign-in, CSRF on sign-in, plus the round-1 post-hoc checks.
  • Add security and data_protection to the judge's rubric as primary dimensions.
  • Regenerate arm B from a brief naming personal data, and extend arm C within 40 lines.
  • Name, in the change prompt, the API the change acceptance module drives; round 1 graded names no trial was given.
  • Run round 3: 15 build and 15 change trials across the five arms, judge (about 90 judgings), report.

Code changes before round 3 (from the design review, 2026-09-24)

  • Move the arms' brief and the change-task prompt out of the design doc into tests/efficacy/brief.md and tests/efficacy/change-prompt.md, and point generate_arm.py (BRIEF_HEADING) and harness.py (CHANGE_HEADING) at the files. Both are read today by exact heading, so the doc's restructure would silently break them. This lands before the design doc is rewritten.
  • report.py CONTRASTS: add ("short", "full"), making eight contrasts (decided 2026-09-24).
  • report.py and judge.py PRIMARY: add security and data_protection.
  • Rename the arm directories B-candidate → full and C-reference → hand, and update harness.py ARMS.
  • Rewrite docs/design/efficacy-benchmark.md per the owner's review: plain language, round history moved into the decisions section, §12 merged into the other sections, subsections numbered.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High — must fix before next milestoneepicLarge initiative spanning multiple tasks

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions