Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/requirements-ci.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Linux x86_64 / Python >=3.10. Official PyPI wheel, reviewed 2026-09-20.
# zizmor has no Python distribution dependencies at this version.
# https://pypi.org/pypi/zizmor/1.30.1/json
zizmor==1.30.1 \
--hash=sha256:eee12266b793cb87ad4a7e3af2e72404f8a63e3de5eb099b80bf7b1cfd232a8e
13 changes: 13 additions & 0 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,23 @@ jobs:
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install checksum-locked CI analyzer
run: >-
python3 -m pip install --disable-pip-version-check --no-input
--only-binary=:all: --require-hashes
--index-url https://pypi.org/simple
-r .github/requirements-ci.lock
- name: Audit GitHub workflows without network or credentials
run: zizmor --offline --no-config --no-ignores --persona regular --strict-collection .github/workflows
- name: Validate manifests and evidence integrity
run: python3 scripts/validate.py
- name: Validate catalog evidence and coverage joins
run: python3 scripts/validate_catalogs.py
- name: Validate declared convergence evidence and scope
run: >-
python3 scripts/validate_convergence.py
blueprints/convergence-practice/ci-security/experiment.json
blueprints/convergence-practice/native-worker/experiment.json --root . --json
- name: Check offline ecosystem explorer rebuild
run: python3 scripts/build_ecosystem.py --check
- name: Test validation failure modes
Expand Down
5 changes: 5 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ Use upstream executables and supported integration formats. Keep client accounts

One coordinator integrates. Writing workers need separate worktrees and bounded file ownership. Evidence belongs in compact sanitized receipts; no raw conversations, tokens, personal paths or machine-specific active client configuration.

For general engineering and ecosystem changes, start with
`docs/convergence-architecture.md`. New convergence claims use
`scripts/validate_convergence.py` with a scoped experiment record. Preserve failed
attempts and unknown usage; the checker verifies declared consistency, not truth.

The north star is US-equities research/backtesting followed by Alpaca paper.
Read `catalogs/us-equities/README.md` for selection and `blueprints/us-equities/north-star.md`
for boundaries; load only the layer needed for the current task. The native
Expand Down
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,16 @@ executed external retrieval comparison and a reusable acceptance protocol for
native agent work, recovery and local inference. Research findings remain
separate from a new host's runtime acceptance.

For general software work, start with the **[convergence architecture](docs/convergence-architecture.md)**.
It connects compact task contracts, native workers, scoped retrieval, complete
attempt records and recoverable decisions. The latest wave adds executable
claim checks, a verified Claude child repair, and pinned workflow-security
analysis. [Ten-source review and current star delta](catalogs/convergence-practice/architecture-wave/README.md).

The **[US-equities grand catalog](catalogs/us-equities/README.md)** now covers
**147 unique repositories in 152 layer decision cards**, **20 model entries**,
and an auditable **342-star coverage ledger**. Its combined index includes
**504 repository identities** across all 342 public stars and 162 beyond them,
**505 repository identities** across all 342 public stars and 163 beyond them,
with typed, validated pointers to decisions and evidence. The latest
[architecture research wave](catalogs/us-equities/architecture/README.md) adds
source reviews, awesome-list coverage and official Alpaca constraints.
Expand Down
7 changes: 5 additions & 2 deletions adoption/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@
"ecosystem_explorer_guide": "docs/ecosystem/README.md",
"current_lifecycle_sample": "blueprints/us-equities/lifecycle-sample/native-receipt.json",
"current_frozen_catalyst_protocol": "blueprints/us-equities/catalyst-experiment/protocol.json",
"current_native_efficiency": "blueprints/us-equities/research-efficiency/native-receipt.json"
"current_native_efficiency": "blueprints/us-equities/research-efficiency/native-receipt.json",
"current_engineering_convergence": "docs/convergence-architecture.md",
"current_native_child_acceptance": "blueprints/convergence-practice/native-worker/receipt.json"
},
"recipe_map": {
"affaan-m/ECC": "recipes/README.md",
Expand Down Expand Up @@ -98,7 +100,8 @@
"pandas": "blueprints/us-equities/nanosecond-replay/README.md",
"systemd": "blueprints/us-equities/worker-supervision/README.md",
"skfolio": "blueprints/us-equities/research-evaluation/README.md",
"edgartools": "blueprints/us-equities/catalyst-provenance/README.md"
"edgartools": "blueprints/us-equities/catalyst-provenance/README.md",
"zizmor": "blueprints/convergence-practice/ci-security/README.md"
},
"profiles": [
{
Expand Down
7 changes: 7 additions & 0 deletions blueprints/convergence-practice/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,13 @@ It does not replace those receipts or transfer their acceptance to a new host.
SOTA is the research direction; this publication makes no universal best-stack
or end-to-end autonomous-system claim.

The subsequent [architecture wave](../../catalogs/convergence-practice/architecture-wave/README.md)
adds the [general engineering guide](../../docs/convergence-architecture.md), an
[executable evidence contract](contract-reference.md),
[native child repair](native-worker/README.md) and
[workflow security qualification](ci-security/README.md). It retains the earlier
retrieval results below and does not convert them into patch-success or savings claims.

## This wave's evidence

The [source review](../../catalogs/convergence-practice/source-review.md) refreshed
Expand Down
35 changes: 35 additions & 0 deletions blueprints/convergence-practice/ci-security/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Native workflow security qualification

The public CI now installs **zizmor 1.30.1** from a SHA-256-locked official PyPI
wheel and analyzes workflows offline. It adds no persistent service or account.
The Linux x86_64 wheel passed the [exact-head CI run](ci-acceptance.json),
including all 404 tests with 40 explicit optional-profile skips. It is isolated
to GitHub's disposable Ubuntu runner; its
[lock](../../../.github/requirements-ci.lock) is not a portable Mac install recipe.

The [source review](../../../catalogs/convergence-practice/architecture-wave/zizmorcore__zizmor.json)
records the release commit, README and MIT license identity. The
[native observation](observation.json) records the separately tested Mac binary.
The current workflow has no findings under the regular persona. The deliberately
unsafe fixture returns exit 14 with `template-injection`, `unpinned-uses` and
`artipacked`. The fixture is inert text outside `.github`; it is never executed.

Replay with the selected native executable available:

```sh
python3 -m unittest -v tests.test_workflow_security
python3 scripts/validate_convergence.py blueprints/convergence-practice/ci-security/experiment.json --root . --json
```

The tests skip explicitly if zizmor is absent locally. CI installs the exact
wheel first and fails if installation or analysis fails. Offline regular analysis
does not cover all vulnerabilities, online advisories, secrets or supply-chain
provenance. Pedantic analysis also reports missing job names and concurrency
limits in the existing workflow; those advisory findings are outside this
adopted regular-persona gate. The wheel checksum is integrity evidence, not a
signature-verification claim. Changing versions requires source review, a new
wheel hash and replay of both accepted and rejected cases.

Rollback removes the selected CI analyzer step, lock and its tests together;
the existing evidence and catalog validation remain the baseline. Public CI
results qualify that runner only; another host must run its own acceptance.
22 changes: 22 additions & 0 deletions blueprints/convergence-practice/ci-security/ci-acceptance.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"schema_version": 1,
"kind": "github_ci_native_acceptance",
"event": "push",
"tested_head": "ba30cc80caef9ce32909c2e6f7d152f1e0edee98",
"run_url": "https://github.com/seathatflowsinourveins/native-agent-stack/actions/runs/35489538093",
"platform": "ubuntu-24.04 Linux x86_64",
"conclusion": "success",
"zizmor_version": "1.30.1",
"wheel": "zizmor-1.30.1-py3-none-manylinux_2_28_x86_64.whl",
"wheel_sha256": "eee12266b793cb87ad4a7e3af2e72404f8a63e3de5eb099b80bf7b1cfd232a8e",
"installation": "pip --require-hashes --only-binary=:all: from official PyPI",
"workflow_analysis": "offline regular; zero regular findings;2pedantic advisories excluded by declared persona",
"tests": 404,
"explicit_optional_skips": 40,
"native_security_fixture_tests": "executed and passed",
"limitations": [
"Hosted runner acceptance is distinct from Mac binary evidence.",
"Full optional SDK/data/GPU profiles are not installed by this publication workflow.",
"CI artifact integrity and static analysis do not establish signature authenticity or absence of every vulnerability."
]
}
123 changes: 123 additions & 0 deletions blueprints/convergence-practice/ci-security/experiment.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
{
"schema_version": 1,
"kind": "convergence_experiment",
"status": "observed",
"lane": "native-agent-engineering",
"discovery_provenance": [
"Measured gap in public native workflow acceptance; stars and awesome lists used only for discovery."
],
"license_and_compatibility": "See pinned source review; original fixture under repository MIT license. No new native authentication or model default.",
"predeclared_metrics": {
"quality_rule": "Preserve frozen acceptance oracle and inspect actual exit, changes and intended failure cases.",
"usage_rule": "Known native fields retained separately; unknown stays null; no savings claim."
},
"commands": [
"python3 -m unittest -v tests.test_workflow_security"
],
"observations": [
{
"id": "ci-regular-pair",
"task": "workflow-analysis",
"role": "static-verifier",
"condition": "candidate",
"attempt": 1,
"command_index": 0,
"evidence_class": "native_cli_execution",
"scope": "Offline regular workflow analysis using native zizmor1.30.1 on macOS arm64",
"status": "passed",
"exit_code": 0,
"quality": {
"semantic": true,
"contract": true
},
"artifacts": [
{
"path": "blueprints/convergence-practice/ci-security/observation.json",
"sha256": "aebb8c8dd1b5d269fbbc1b3a3e66a591d3b7ea9f2caff23891ba6270ab55232f"
}
],
"usage": {
"uncached_input": 0,
"cache_creation": 0,
"cache_read": 0,
"output": 0,
"reasoning_in_output": 0,
"total": 0,
"native_retries": 0
}
}
],
"failures_and_skips": [],
"usage_assessment": {
"claim": "none",
"coverage": "partial",
"expected_run_ids": [],
"coverage_artifact": null
},
"task_and_failure": "Public CI lacked static workflow security analysis and a known-unsafe regression fixture.",
"primary_sources_and_pins": [
{
"url": "https://github.com/zizmorcore/zizmor",
"revision": "99a054ed9283c90abdd2d5b9fb5101d27dde9783"
}
],
"baseline_and_candidate": {
"baseline": "Existing evidence and catalog validation only",
"candidate": "Pinned native offline workflow analysis with positive and negative fixture checks"
},
"frozen_inputs": {
"base_revision": "327d9badff0ad09ec0c1266e70b4ad361743c77f",
"tasks": [
"workflow-analysis"
],
"roles": [
"static-verifier"
],
"sources": [
{
"path": "catalogs/convergence-practice/architecture-wave/zizmorcore__zizmor.json",
"sha256": "25c5ead3bb9660aeae390f7c0f3076e3db26014c3ac31d9f1686849d803ab679"
}
],
"inputs": [
{
"path": ".github/workflows/validate.yml",
"sha256": "7f1657842cd563b64474a3c44bd0a24ce4aa2df81ad6cf977e193d9af11d13d9"
},
{
"path": "tests/fixtures/workflow-security/unsafe.yml.txt",
"sha256": "9e1c6130a396200387a0b9f1d445a33dbf154370db5460a3b50e086321bb737a"
}
],
"evaluation": [
{
"path": "tests/test_workflow_security.py",
"sha256": "2c260c8d7fd58e747819037177ec9e077ee1cac7dc1e8ebd1ff7ddd1c405266b"
}
]
},
"runtime_and_platform": {
"platform": "macOS arm64",
"tools": [
{
"name": "zizmor",
"version": "1.30.1"
}
],
"isolation": "Local offline static analysis; unsafe workflow inert in disposable directory."
},
"limitations": [
"Offline regular analysis is scoped static evidence, not absence of every vulnerability or signature verification.",
"Mac binary and the checksum-locked Linux CI wheel are distinct artifacts; new runner execution is established by its own CI result.",
"The unsafe fixture was analyzed but never executed. No model calls, broker actions or savings measurement."
],
"decision_and_scope": {
"decision": "adopt_within_scope",
"scope": "Offline regular workflow analysis using native zizmor1.30.1 on macOS arm64",
"qualification_run_ids": [
"ci-regular-pair"
]
},
"rollback": "Remove analyzer step, lock and matching CI tests together; preserve prior validators.",
"next_decision_changing_test": "Linux wheel and fixtures now pass in the separately linked CI receipt; broader persona and signature checks require separate scoped qualification."
}
24 changes: 24 additions & 0 deletions blueprints/convergence-practice/ci-security/observation.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"schema_version": 1,
"kind": "native_static_analysis_observation",
"platform": "macOS arm64",
"zizmor_version": "1.30.1",
"binary_sha256": "0717f7c8878caf12f3c8bdb99841bd5dff97e26f0481bba98f59169d414edc34",
"persona": "regular",
"network": "offline analysis; prior installation separate",
"published_workflow": {
"exit_code": 0,
"findings": []
},
"unsafe_fixture": {
"exit_code": 14,
"finding_identifiers": [
"artipacked",
"template-injection",
"unpinned-uses"
]
},
"model_calls": 0,
"fixture_execution": false,
"scope": "Static analysis of retained workflow and synthetic unsafe fixture; not proof that all vulnerabilities are absent."
}
15 changes: 15 additions & 0 deletions blueprints/convergence-practice/ci-security/receipt.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"schema_version": 1,
"id": "native-ci-security-20260920",
"kind": "native_cli_e2e",
"component_ids": [
"zizmor"
],
"claim": "Native zizmor1.30.1 on macOS accepts the published workflow under offline regular analysis and rejects an inert unsafe fixture with three findings; two executable regression checks pass.",
"limitations": [
"Offline regular analysis is scoped static evidence, not absence of every vulnerability or signature verification.",
"Mac binary and the checksum-locked Linux CI wheel are distinct artifacts; new runner execution is established by its own CI result.",
"The unsafe fixture was analyzed but never executed. No model calls, broker actions or savings measurement."
],
"recorded_at_utc": "2026-09-20T04:30:41.591503+00:00"
}
Loading