Skip to content

fix(intelligence): 🛡️ satisfy holistic validation contracts - #97

Merged
szmyty merged 1 commit into
mainfrom
agent/repair-intelligence-holistic-validation-94
Sep 23, 2026
Merged

szmyty merged 1 commit into
mainfrom
agent/repair-intelligence-holistic-validation-94

Conversation

@szmyty

@szmyty szmyty commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Refs #94
Refs egohygiene/relay#33

The first full main MegaLinter scan after #95 exposed introduced type, security-fixture, and link failures that the PR fast profile did not execute. This repair fixes them and adds the missing canonical checks.

  • Correct helper and fixture type contracts; require bounded byte responses with a public-safe negative test.
  • Document line-scoped exceptions for fixed subprocesses, guarded parsers, and synthetic rejection fixtures. Preserve every trust guard and global scanner policy.
  • Repair incomplete diagnostic links and explain authenticated historical artifact access while preserving its ID and digest.
  • Add exact canonical Mypy, Bandit, and Secretlint checks. Update AGENTS/publication guidance to require full-profile evidence before readiness.
Reviewed identity Value
Branch agent/repair-intelligence-holistic-validation-94
Head f246290f2ea3a559599aadea85e5b6e3dad01dba
Tree 83cc7be8c2e6339b810538da88b3d8faab307bf0
Provider PR merge a78a9c1ad2dd9194b197b1f92f2b132bb738af40
Verified base 9da148f0488a1a22240d922dadc1b227e30d280f

The provider merge has the same tree as the reviewed head. A commit-message-only correction superseded the first draft head; final provider evidence uses the head above.

Validation and security review: 195 complete root tests and 82 focused tests, zero skips; canonical lint/type/security checks; architecture, lifecycle, continuity, journal, garden, parsing, syntax and diff validators.

Exact-head provider/artifact audit: current and rollback compositions, standalone subtree, eight verified ZIP digests, deterministic duplicate output, exact manifest/composition, and all 63 Quartz files preserved. PR Pages upload, deploy and receipt jobs remain skipped.

Full-profile audit: all 62 introduced Mypy diagnostics, 32 Bandit findings, one Secretlint fixture finding, and three Lychee failures are removed. Remaining warnings were reviewed. Full repository lint is still red on baseline findings; automation and OSV baseline failures are independently verified, including byte-identical OSV output.

Provider trust-boundary proof: scheduling fixtures pass; PR/manual feature-branch snapshot publishers and their Pages refreshes are denied. Both Relay pins, Quartz, Mindgarden public review, report identities, subtree ownership, and receipt separation remain intact.

PR #95's live canary, negative path, rollback and restored-current receipt/routes are complete. After this repair is reviewed and merged, verify its actual merged holistic/consumer checks and fresh default/current build → deploy → receipt → live evidence. Keep #94, Relay #33 and Relay #106 open until their remaining acceptance work is supported.

Ready for review; unmerged.

Repair typing, guarded parsers, fixtures, and diagnostic links.
Add canonical checks and full-profile readiness guidance.
Preserve publication trust boundaries.

Refs #94
Refs egohygiene/relay#33

szmyty commented Sep 23, 2026

Copy link
Copy Markdown
Contributor Author

Local validation and independent trust-boundary review are complete for head f246290f2ea3a559599aadea85e5b6e3dad01dba, tree 83cc7be8c2e6339b810538da88b3d8faab307bf0. All seven tested Python source SHA-256 digests were independently compared to the final Git blobs; the commit-message-only correction did not change the tested tree.

  • 195 complete root tests, zero skips; 82 focused tests (78 RI and 4 existing garden integration), zero skips; Mindgarden 23 tests and five-note/reviewed-public projection validation.
  • Canonical Ruff 0.16.5 lint/format, Mypy 1.19.1 with types-PyYAML 6.0.12.20260906, Bandit 1.9.4, and Secretlint 13.0.5 with matching preset all pass the focused scope.
  • Architecture: 5 contract tests covering 18 documents and ownership/roadmap relationships. Automation: 20 workflows, 11 actions; actionlint 1.7.12; generated lint architecture current.
  • Exact Relay 9a6315978766c336566b9fa7139b800fa8789ba5 owner validators pass lifecycle (21 workflow classes), continuity preflight, repository architecture, journal runtime/npm lock, and catalogs (14 actions, 21 workflows, 15 reusable workflows).
  • Duplicate-key rejection and parsing: 37 YAML / 9 JSON contracts. Syntax: 8 Python files, 30 inline Bash blocks, 2 Python heredocs. No JavaScript implementation changed. Markdownlint 0.49.1, local documentation links, and git diff --check pass.

The only runtime tightening requires public responses to contain bounded bytes; a new negative fixture verifies nonbytes/oversized bodies are rejected without reflecting payloads. Dynamic-module and JSON annotations preserve existing validation. Line-scoped security annotations explain fixed argv, SafeLoader duplicate/object-tag rejection, bounded UTF-8/NUL/DTD XML rejection, and synthetic credential-rejection fixtures. No global scanner policy is weakened.

Both current Relay pins and pinned Quartz are unchanged. Empathy retains sole composition/deployment authority, the Mindgarden reviewed-public boundary, original report identities, truthful missing/incompatible states, producer refresh guards, subtree limits, and receipts outside deterministic output. Added checks run in the existing read-only consumer job.

Baseline limitations remain explicit: EgoLint's existing catalog/workflow SHA mismatch (30/31 tests), stale TASKS.md entries, and prior missing Cargo workspace fixture. Optional warning-descriptor diagnostics are reviewed separately; no Pyright-green claim is made. Exact-head full-profile and publication-artifact evidence follows separately.

szmyty commented Sep 23, 2026

Copy link
Copy Markdown
Contributor Author

Exact-head PR #97 provider evidence verified for reviewed head f246290f2ea3a559599aadea85e5b6e3dad01dba and tree 83cc7be8c2e6339b810538da88b3d8faab307bf0.

  • Publish Mindgarden run 35856357145, attempt 1: both current and fixed rollback builds succeeded. Pages configuration/upload and the deployment, receipt, and live-verification jobs were skipped for the pull request.
  • Standalone Repository Intelligence run 35856357080, attempt 1: succeeded with read-only artifact evidence.
  • Provider checkout represented synthetic merge a78a9c1ad2dd9194b197b1f92f2b132bb738af40, whose parents are base 9da148f0488a1a22240d922dadc1b227e30d280f and reviewed head f246290f2ea3a559599aadea85e5b6e3dad01dba. Independently fetched Git objects confirm the merge and reviewed head have identical tree 83cc7be8c2e6339b810538da88b3d8faab307bf0.

The exact clean Relay verifier at 9a6315978766c336566b9fa7139b800fa8789ba5 independently accepted the retained composition. All 82 site files match the separate composed-site artifact; all 63 preexisting Quartz files are preserved. The 19-file Repository Intelligence subtree exactly matches the standalone artifact. The manifest inventories the 18 payload files; its own bytes are hashed separately.

  • Build manifest: sha256:87865d2cd2c26f45fe41b0610357d8712f205ced37cfd741cf0d7940ee0992ae.
  • Repository Intelligence payload bundle: sha256:aa783594599012125fb4fabe15dc75bebf54aec32ef46b73eac639584fff1694.
  • Complete current composition: sha256:32905badd5dba370c7dee41dcdc2eb9041a3cb72e279913059ea562ffdeb8c8f.
  • Preserved Quartz inventory: sha256:8f3bb6194999579d52ad366ad2e082e62325ccea0731c26268e2e7353a53cdf3 (63 files).
  • Deterministic duplicate: all 82 composed-site files and the exact manifest matched across two Relay builds on the same Quartz base and checkout. This proves the declared scope; it makes no arbitrary-checkout-path or independently rebuilt Quartz equality claim.
  • Retained inputs bind the represented revision/tree, pinned Quartz revision 075afd3f712da0088a07f5284a7b3aba37dd61b6, profile/configuration hashes, and normalized report hashes to exact source bytes. OSV and MegaLinter remain explicitly invalid for the unmatched revision; Scorecard remains unavailable, with unknown findings rather than green substitutes.

The rollback artifact independently passed the frozen consumer baseline at 254185272ab27b6858b8b0393af6549c205c9a8d / tree a5cdaba679c8c0b9d677730273c9779569649929, using Relay v1.4 revision b71b090406a3a9e4cd9f107e9d14a623bbecb127. Its 81-file composition equals its separate review artifact, and its retained report equals a fresh verification of those bytes and the historical checkout.

  • Fixed historical Intelligence digest: sha256:c25caf4249cb4de83e5a747b02db4fa080df93385a0d7344899a5361831e7db9.
  • Stable historical Quartz digest: sha256:605507bc7780341bb519a0b9ff09e4dac9632214abf4407b95faf38ec9bbd6df.
  • This rollback build's full composition: sha256:29dd1b26d16663f0ec0f636d71ea03286a53aa59f054bec4c13fe4c027f6e914.
  • Only the two feeds' synthetic tag dates are normalized by the frozen rollback contract; the other 79 files and all public paths match the retained deployment. No historical full-site equality is claimed.

All eight downloaded ZIPs match the provider SHA-256 digest. All three result reports are bounded, public-safe success records bound to this attempt and synthetic merge. The current and rollback reports explicitly declare publication_expected: false; the standalone report declares contents-read-artifact-only. There is no Pages artifact, deployment, deployment receipt, or live-publication claim for these PR runs.

Artifact ID Verified ZIP SHA-256 Expires (30-day retention)
Rollback sanitized result 10748210341 sha256:a9ba0ecad85aaf7ba6ba3a31b2122984ce008b6119af97261cb199df874a8edc 2026-10-23T11:47:29Z
Rollback provenance inputs 10748130647 sha256:2090a803e1b1485a2f52e9781cb0aa0615d76c65f62e82d93eb9b953dcb2c8d6 2026-10-23T11:47:28Z
Rollback composed site 10748095581 sha256:6fbe458862d211559889d4f0297ddf4593e48eda8d83b80eeb63f58d3b72b57b 2026-10-23T11:47:27Z
Current composition inputs 10747896268 sha256:204e87b328cd98b3973c9f6822902addbd92f2eb90fd9b02e5f1576f0cdb835d 2026-10-23T11:49:04Z
Current sanitized result 10747811876 sha256:90e5c2e99d00fad6af0284bc33171e7318463b7a14edef7e370c2a3ab970179f 2026-10-23T11:49:05Z
Current composed site 10747731891 sha256:985ba41103b82368622cfba485450494ce782ad554273711d43442befadf65f4 2026-10-23T11:49:03Z
Standalone site subtree 10747722718 sha256:98e0be8e367539c75bd36d219fd3e33bfb6227e4efb1e15d6dc9a0ae73bd6795 2026-10-23T11:47:12Z
Standalone sanitized result 10747628024 sha256:2e1f9c4993fa1c6c7d24b998d3c3269f5b9613a959e12f5fad6db6aa84a963a5 2026-10-23T11:47:14Z

szmyty commented Sep 23, 2026

Copy link
Copy Markdown
Contributor Author

The two failing checks on final PR #97 head f246290f2ea3a559599aadea85e5b6e3dad01dba are confirmed existing baseline failures. Provider artifacts represent synthetic merge a78a9c1ad2dd9194b197b1f92f2b132bb738af40 with the reviewed tree 83cc7be8c2e6339b810538da88b3d8faab307bf0.

Automation: run 35856357135/1, job 107165646471, fails only test_catalog_is_pinned_to_the_workflow_release. The catalog/test expect MegaLinter SHA 15e5b45552097e318c93de385779ce3b1084052c, while the workflow uses 9949bad031045f366be2467e00e8371a7328a2e2. The root suite completes 184 tests with 17 skipped; the 31-test EgoLint suite has exactly this one failure.

The earlier merged-main automation run 35852827441/1, job 107154279134, records the same named failure and exact mismatched pins. The catalog, policy test, MegaLinter workflow, and automation workflow are byte-identical between PR base 9da148f0488a1a22240d922dadc1b227e30d280f and final head. Catalog SHA-256: sha256:e0bd38b2f2e31597bcd486a1d366ecb380013f0b2f44824d6958b0cef1e2f333. This conclusion is supported by both decisive provider logs and input comparison.

OSV: run 35856357112/1, job 107165646809, successfully creates valid scanner outputs, then intentionally fails the high-severity gate: 85 blocking findings (4 critical + 81 high), 167 total. The normalized report records successful scan execution and blocked findings separately. The privileged snapshot publisher remains skipped on this PR.

The downloaded report artifact 10748285044 is bound to this exact head/run/attempt. Its ZIP SHA-256 independently matches sha256:d1201f88ddf64607475bac1211ae69446bd595668833668024c13d6ad10f807a. The normalized summary SHA-256 is sha256:356200dba47312a22481c746764c8ab5853f8e4aa8ef537ede80d00aa9ccefa6; its source is a78a9c1ad2dd9194b197b1f92f2b132bb738af40, run 35856357112, attempt 1, scanner 2.5.0.

All seven actually scanned dependency inputs, the OSV workflow, and scanner configuration are byte-identical to the PR base. More decisively, the new canonical OSV JSON is byte-identical to the base's curated result from earlier merged-main OSV run 35852827499, represented source d9059e36d07d959172ff2e8df7ed864b77435b81: sha256:01b25c8d5010c0e4e03d92e871b1b16324503457f7457ec44089706aae52b33f. That prior normalized summary has the same severity breakdown and 85/167 counts. This is an unchanged scanner result, not an inference based only on unchanged files.

Neither failure is suppressed or reclassified as passing. Dependency remediation and catalog/workflow reconciliation remain separate from PR #97's publication repair.

szmyty commented Sep 23, 2026

Copy link
Copy Markdown
Contributor Author

Final-head permission isolation and provider scheduling evidence for f246290f2ea3a559599aadea85e5b6e3dad01dba:

Actual provider gate proof

Job gates run 35856357143, attempt 1 succeeded at final head. The four positive build/deploy/finalize/live no-op fixture jobs and the final assertion executed. The deliberately skipped review ancestor and all five forbidden lanes were skipped. The report contains ten expected outcomes, each exactly equal to the observed outcome.

Artifact 10747827232, empathy-job-gates-35856357143-1, is retained until 2026-10-23T11:45:42Z. Its downloaded ZIP independently hashes to sha256:d7ca8c965879e8eb7b362256ccba6ea16bfb554f72346da461cebb3805c98808, matching GitHub metadata. Its sole member is empathy-gate-fixture.json with a closed public-safe result.

The report represents PR synthetic merge a78a9c1ad2dd9194b197b1f92f2b132bb738af40. GitHub's commit API confirms parents 9da148f0488a1a22240d922dadc1b227e30d280f and final head f246290f2ea3a559599aadea85e5b6e3dad01dba, with the same tree 83cc7be8c2e6339b810538da88b3d8faab307bf0.

The fixture has read-only permissions, no environment, no checkout, no site build, no Pages artifact and no deployment action. Failed/cancelled prerequisite cases are expression fixtures; this does not claim a real cancelled production deployment experiment or a remote fork run.

Publication denial

  • Final-head PR OSV 35856357112/1: scan failed its policy gate; snapshot publisher job 107165907010 was skipped.
  • The next Pages workflow_run, 35856443079/1, has four skipped jobs, zero executed jobs and zero artifacts. Its start follows that OSV completion; the API does not expose the upstream webhook payload, so this association is timing-based while the denial itself is directly observed.
  • Final-head PR MegaLinter 35856357204/1: lint succeeded and snapshot publisher job 107166665159 was skipped.
  • The next Pages workflow_run, 35856674552/1, likewise has four skipped jobs, zero executed jobs and zero artifacts. Its timing follows final-head PR MegaLinter completion; the same upstream-payload visibility limit applies.
  • Final-head manual holistic 35856521577/1, explicitly dispatched on agent/repair-intelligence-holistic-validation-94, completed with lint failure. Actual snapshot publisher job 107169138563 was skipped. Its lint findings and archived report digest verification are covered by the separate holistic audit.
  • The immediately subsequent Pages workflow_run, 35857426384/1, created 2026-09-23T11:56:14Z after manual completion 11:56:12Z, has four skipped jobs, zero executed jobs and zero artifacts. No site build, Pages artifact, deployment, receipt or live-verification step ran. Association is timing-based because the REST run record does not expose the upstream webhook payload; actual denial is directly observed.
  • Live GitHub main remained 9da148f0488a1a22240d922dadc1b227e30d280f after these runs; the feature-branch holistic scan did not publish a report snapshot.

The earlier same-tree PR MegaLinter 35855896735/1 and OSV 35855896774/1 snapshot publishers were also skipped, and their adjacent refreshes 35856258160/1 and 35855983840/1 each had four skipped jobs and no artifacts. These are supplementary source-equivalent evidence, not final-head substitutes.

szmyty commented Sep 23, 2026

Copy link
Copy Markdown
Contributor Author

Final holistic validation is complete for f246290f2ea3a559599aadea85e5b6e3dad01dba / tree 83cc7be8c2e6339b810538da88b3d8faab307bf0.

Manual full-profile run 35856521577, attempt 1 remains failed because the repository-wide baseline is not clean. The audit covered the union of PR #95's original 19 changed paths and this repair's 12 paths. No introduced blocking findings remain.

  • Mypy: all 62 introduced diagnostics removed. The remaining 36 diagnostics in four unchanged files exactly match baseline file/line/message identities.
  • Bandit: all 32 introduced findings removed; ten baseline findings remain.
  • Secretlint: the synthetic rejection-fixture finding is removed; the one baseline finding remains.
  • Lychee: all three introduced failures are removed. The remaining changed-path hit is the pre-PR-feat(intelligence): 🧾 prove Empathy publication boundaries #95 README line 55 staging link.
  • The full report retains the same 23 error-descriptor categories as the baseline. This is not represented as an all-green full repository scan.
  • Warning-only diagnostics were reviewed: Pyright 37 (31 RI and six unchanged Mindgarden diagnostics), Pylint 12, table-format suggestions, deliberate fixture/workflow duplication, and pre-existing prose findings. They concern dynamic fixture typing, linter dependency resolution, method/argument counts and style. No runtime or security defect was identified; the warnings are not relabeled as passes or all called pre-existing.

Full report artifact 10748033215, megalinter-35856521577-1, was downloaded and independently checked: 7,494,620 bytes, ZIP sha256:9965c0c34b48332bf50821215e7c79dbcc0bb6692dc9bbf1f0ad4f6a45dafb0f, expiration 2026-10-23T11:56:05Z (30 days). Findings attribution uses actual per-linter records and logs. The existing normalized summary reports execution failure but its zero findings / 50 passed counts do not describe the raw results; those counts were not used as readiness evidence.

The new canonical focused check also passes on this exact head: 35856357092/1, 82 tests, zero skips, plus Ruff/Mypy/Bandit/Secretlint. Its artifact 10748245565 ZIP independently matches sha256:8c2efd320654fbff103ee6e0858a5c43bb12dbd7ca8dd528530aabe72c409f7a. It represents synthetic merge a78a9c1ad2dd9194b197b1f92f2b132bb738af40, whose tree equals this reviewed head.

The manual feature-branch snapshot publisher was skipped. Subsequent Pages 35857426384/1 executed zero jobs and retained zero artifacts; main remained 9da148f0488a1a22240d922dadc1b227e30d280f. The detailed permission proof is recorded separately.

Final PR commit validation 35856433823/1, fast MegaLinter 35856357204/1, CodeQL 35856357085/1, dependency review and generated architecture checks succeeded. Automation/OSV baseline failures are independently attributed.

This completes review-head validation. Actual merged default-branch full-profile results and a fresh current publication/receipt/live proof remain required after review and merge. The prior negative, producer-refresh and rollback/restoration evidence stays attached to #94 with its exact identities.

@szmyty
szmyty marked this pull request as ready for review September 23, 2026 12:02
@szmyty
szmyty merged commit 56967b2 into main Sep 23, 2026
31 of 35 checks passed
@szmyty
szmyty deleted the agent/repair-intelligence-holistic-validation-94 branch September 23, 2026 13:32
@devactivity-app

Copy link
Copy Markdown

Pull Request Summary by devActivity

Metrics

Cycle Time: 1h 52m Coding Time: < 1 min Comments: 2

Achievements

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.

1 participant