Date: 2026-08-28
The project owner asked the assistant to continue work directly in the public MSKazemi/idkmesh repository.
The repository had two overlapping ACE pull requests:
The overlap was reconciled so:
R_community(W) denominator so zero-descendant parents are not omitted;PR #48’s duplicate simulator and simulator-specific workflow were removed, and its fresh Phase 0 CI passed.
After #25/#27 reconciliation, the next Bootstrap Cohort dependency was issue #26:
Threat-model
.github/workflows/ace-community-growth.ymlbefore ACE gains stronger write capability.
This was prioritized because the workflow uses pull_request_target with issues: write and therefore crosses a privileged GitHub trust boundary even though its current behavior is metadata-only.
The workflow already had the most important invariant:
pull_request_target
-> no checkout of PR head
-> no imports/builds/tests from PR code
-> no secrets exposed to PR execution
-> metadata only
That substantially limits fork-originated code-execution risk.
Several metadata-plane weaknesses were found:
<!-- ACE_SEED and cause the workflow to apply growth-seed;ACE_STATE JSON was silently ignored and replaced by default state;spawned-from:pr-N could poison the generated-seed dedupe check;actions/github-script@v7 used a moving tag rather than an immutable commit.Branch: security/ace-workflow-threat-model
Changes to .github/workflows/ace-community-growth.yml:
actions/github-script to commit f28e40c7f34bde8b3046d885e986cb6290c5673b, the v7 tag target observed during this review;growth-seed only when issue author_association is OWNER, MEMBER, or COLLABORATOR;ace:ledger label and prefer it for canonical ledger identity;ACE_STATE ledger during migration and label it;github.paginate for ledger and deduplication scans;growth-seed-labelled issue before it can suppress a generated seed;Added:
docs/security/ACE_THREAT_MODEL.md
It documents:
After the proposed hardening, ACE v0 is considered safe enough for current metadata-only experimental operation, subject to normal review and the hard invariant that PR-head code is never executed in the privileged workflow.
It is not considered safe enough for:
The security review produced a reusable rule for IDKMesh:
Text may propose; typed policy and verified evidence authorize.
GitHub titles, bodies, comments, and markers are observations/evidence. They must not directly become authority simply because a privileged workflow can read them.
The hardening preserves the low-friction GitHub-native ACE experiment while reducing ways that untrusted activity can pollute labels, ledger identity, or deduplication. It also keeps the security review itself as an independently reviewable Growth Seed contribution rather than silently changing main.