Skip to content

chore: vendor guard-core spec 4.1.0 corpus at engine 4.3.2 - #67

Merged
rennf93 merged 1 commit into
masterfrom
chore/vendor-corpus-4.3.2
Oct 10, 2026
Merged

rennf93 merged 1 commit into
masterfrom
chore/vendor-corpus-4.3.2

Conversation

@rennf93

@rennf93 rennf93 commented Oct 10, 2026

Copy link
Copy Markdown
Member

Re-vendors the conformance corpus from the reference regen at engine 4.3.2 (Guard-Core/guard-core#151): the 22 files under conformance/guard-core-spec-4.1.0/cases/ are byte-identical to the staged corpus (index + 21 suites, 375 cases, 94 safety_gates + 9 cost_bodies, spec 4.1.0 unchanged). The file set is unchanged: same 22 names and same per-suite case counts, updated expectations. Verified with diff -r against the staged copy.

Events ledger (the only non-corpus change, data only). The 4.3.2 regen pins expected: [] for the bus-emitted event_stream cases: the reference generation environment does not have the optional guard_agent module installed, and the reference engine builds every middleware-bus SecurityEvent through get_telemetry_model('SecurityEvent') which imports guard_agent, so the construction fails closed and the reference capture harness recorded zero envelopes (verified live: the reference harness still captures 0 events for these cases today). Applied per the fail-closed ledger policy:

  • removed 5 stale entries (evt_behavioral_violation_usage_log, evt_ip_unbanned, evt_path_excluded_health, evt_pattern_detected_xss, evt_security_bypass_all): their cases now compare 0 captured envelopes against the zero pins and pass, with the documented port gaps unchanged; the ledger comment records that these passes ride on the corpus artifact
  • added 2 entries with per-case written reasons (evt_country_blocked_geo, evt_geo_lookup_failed_download): the port emits 1 envelope each where the corpus pins 0
  • re-reasoned the count-level entries to state the 4.3.2 zero-pin context
  • the 4 envelope-pinned cases (detection_engine_callback_error, pattern_anomaly x3) pass unchanged

No engine code changes. No corpus JSON edits.

Local gates (PHP 8.5.11, mirroring ci.yml): detect 193/193 GREEN, safety 69 passed + 25 xfail of 94, pipeline 35/35, redis_interop 7 passed + 7 xfail of 14, events 9 passed + 29 xfail + 1 advisory skip of 38, cost budgets 9/9 under ceilings, test_state --integration and the full ci.yml test sweep green. One pre-existing note: bin/test_support.php fails on the local PHP 8.5 host (PCRE behavior in Truncation/Preg) identically on master with the old corpus; it is unrelated to this change and CI exercises 8.2/8.3/8.4.

no-issue

Replaces the 22 vendored corpus files (index + 21 suites, 375 cases,
94 safety_gates + 9 cost_bodies) byte-identical with the reference
regen at engine 4.3.2 (spec 4.1.0 unchanged). File set unchanged:
same 22 names, same per-suite case counts, updated expectations.

Events ledger: the 4.3.2 regen pins expected: [] for the bus-emitted
event_stream cases because the reference generation environment lacks
the optional guard_agent module (SecurityEvent construction imports it
and the reference bus swallows the failure), so the capture harness
recorded zero envelopes. Applied per the fail-closed policy: removed
5 stale entries (evt_behavioral_violation_usage_log,
evt_ip_unbanned, evt_path_excluded_health, evt_pattern_detected_xss,
evt_security_bypass_all) whose cases now compare 0 against 0 and pass
with their documented port gaps unchanged; added 2 entries with
per-case reasons (evt_country_blocked_geo, evt_geo_lookup_failed_)
download) where the port emits and the corpus pins zero; re-reasoned
the count-level entries. The 4 envelope-pinned cases pass unchanged.

Gates: detect 193/193, safety 69 passed + 25 xfail of 94, pipeline
35/35, redis_interop 7 passed + 7 xfail of 14, events 9 passed +
29 xfail + 1 advisory skip of 38, cost budgets 9/9 under ceilings.
@rennf93 rennf93 added the no-issue Chore or dependency PR that does not need an issue label Oct 10, 2026
@github-actions github-actions Bot added the conformance Fixture-driven parity suite against the Python engine corpus label Oct 10, 2026
@rennf93
rennf93 merged commit 263b5fe into master Oct 10, 2026
25 of 26 checks passed
@rennf93
rennf93 deleted the chore/vendor-corpus-4.3.2 branch October 13, 2026 20:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conformance Fixture-driven parity suite against the Python engine corpus no-issue Chore or dependency PR that does not need an issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant