feat: mine reusable AeroSim channel lessons

This commit is contained in:
2026-09-10 11:41:24 +00:00
parent fcb0cb3000
commit 389db44022
2 changed files with 99 additions and 1 deletions
+14 -1
View File
@@ -1,7 +1,7 @@
--- ---
name: corp-v1-channel-general name: corp-v1-channel-general
description: "Use when operating or synchronizing a Corp v1 project's general channel. Correlates verified activity across the project's general, scope, architecture, kanban, delivery, and releases channels; reports overall status, surfaces issues, and maintains project-level guidance." description: "Use when operating or synchronizing a Corp v1 project's general channel. Correlates verified activity across the project's general, scope, architecture, kanban, delivery, and releases channels; reports overall status, surfaces issues, and maintains project-level guidance."
version: 1.7.1 version: 1.8.0
author: Hermes Agent author: Hermes Agent
license: MIT license: MIT
metadata: metadata:
@@ -250,6 +250,19 @@ An exact project-local bootstrap override may delegate specified approval items
For completed work include exact evidence such as Discord message IDs, repository URLs, branch names, commit SHAs, documentation paths, CI run IDs, or check output. Mark uncertain conclusions as proposals. For completed work include exact evidence such as Discord message IDs, repository URLs, branch names, commit SHAs, documentation paths, CI run IDs, or check output. Mark uncertain conclusions as proposals.
## Mined Project-Adoption Improvements
## Dedicated Project Channel Workspace
Every project adoption must bind this channel to a dedicated local workspace under the active working root. Keep clones, worktrees, plans, reports, screenshots, generated artifacts, retained logs, and channel inputs inside that channel root. Use run-unique or task-specific children under `workspace/`; keep durable project truth in approved repositories. A local folder boundary organizes execution only—it neither broadens authority nor replaces remote evidence. Delivery adoptions should additionally use a channel-level `cache/` for reusable pinned toolchains and dependencies, while keeping Task evidence isolated by Task.
## Project-Adoption Evidence Lessons
Treat governance wording in an open documentation PR as **pending review evidence**, never as current default-branch policy. Verify default-branch wording and the review head separately, preserve the established authority boundary while review is open, and after merge refresh every affected Roadmap, Kanban, Delivery, and release-readiness artifact. Cross-channel adoption, green CI, bot summaries, silence, or repeated proposals are not governance approval.
When a shared coordination PR is refreshed, explicitly fetch its exact source ref, reconcile concurrent writers without force-pushing, avoid embedding the PR's own mutable head as durable “current” evidence, and perform a final exact-head/CI/readback check immediately before reporting. Follow [references/shared-coordination-pr-refresh.md](references/shared-coordination-pr-refresh.md).
## Common Pitfalls ## Common Pitfalls
1. Posting repetitive “nothing changed” updates instead of contributing useful documentation. 1. Posting repetitive “nothing changed” updates instead of contributing useful documentation.
@@ -0,0 +1,85 @@
# Refreshing a shared coordination PR safely
Use this procedure when General, Scope, Kanban, Delivery, or Releases may update the same documentation review branch.
## 1. Establish authoritative remote state
Before editing, read back:
- the documentation repository's current default branch and exact SHA;
- every relevant PR's state (`open`, `merged`, or closed), head SHA, base ref/SHA, and mergeability;
- CI tasks matched to each exact PR head SHA;
- the latest substantive messages from only the authorized project channels.
Treat channel reports as leads, not repository truth. Replace stale PR states, heads, task IDs, base SHAs, and channel-message evidence together.
## 2. Synchronize the shared branch explicitly
Fetch both refs by their full names rather than relying on a generic prune:
```bash
git fetch origin \
refs/heads/<default>:refs/remotes/origin/<default> \
refs/heads/<coordination-branch>:refs/remotes/origin/<coordination-branch>
```
Then:
1. require a clean worktree;
2. compare local and remote SHAs;
3. verify local `HEAD` is an ancestor of the remote coordination head;
4. fast-forward with `git merge --ff-only`;
5. stop and reconcile manually if histories diverged—never force-push over another channel's update.
Fetch the exact coordination ref again immediately before committing or pushing. If it advanced, fast-forward and reapply/reconcile the pending edit before publication.
## 3. Make one coherent evidence refresh
Update the durable artifact in one pass:
- latest substantive channel message IDs;
- current PR states and exact heads;
- exact-head CI task IDs and outcomes;
- review ordering and stacked dependencies;
- default-branch/base SHA;
- lifecycle state separately from Kanban flow state;
- approval, implementation, and release gates.
When owner-channel jobs advance their review branches during the same synchronization window, treat their reports as leads and immediately re-read each PR plus its latest exact-head task. Refresh the coordination artifact at the row or item level rather than only updating a summary paragraph: roll Scope evidence into Epic/Feature rows, Kanban evidence into flow/Focus fields, Delivery evidence into implementation gates, and Releases evidence into release-readiness blockers. A bot-authored owner-channel report can prove that coordination work completed, but it cannot supply a human approval or authorization.
Remove superseded head/task pairs rather than accumulating a history of stale values. Do not convert `InIdeation`, empty Focus, merged documentation, successful CI, or repeated bot summaries into lifecycle approval.
## 4. Handle the self-referential head problem
A commit cannot reliably embed its own final SHA in the content it creates. For the coordination PR's own row:
- identify the previous exact head/task explicitly as **prior evidence**;
- state that the current refresh supersedes it and requires new exact-head CI;
- after pushing, put the new exact head and matching CI task in the synchronization report and remote verification record.
Never label the prior head as the current PR head after the push. Do not amend repeatedly to chase a self-referential SHA.
## 5. Validate and publish
Before publication, run the repository's structural validators, typecheck, strict-link production build, and `git diff --check`. Commit and push only the intended files.
After publication:
1. fetch the exact remote branch ref and assert it equals the pushed SHA;
2. read the changed artifact from that remote ref;
3. verify required new markers are present and superseded markers are absent;
4. read PR metadata back and verify open/merged state, mergeability, head SHA, base ref, and base SHA;
5. wait for a terminal CI task whose `head_sha` exactly equals the pushed SHA;
6. report success only when that exact task succeeds.
Base-branch success, a prior PR task, or another coordination PR's task is not evidence for the pushed head.
## 6. Close the channel-activity race
After remote artifact readback and exact-head CI succeed, scan only the authorized project channels again. Query each channel starting after the per-channel high-watermark captured during the initial synchronization, not from an older fixed window. Keep the newest message ID as the next synchronization boundary, but cite the newest substantive message separately; continuation-only verifier warnings, delivery footers, and job-management boilerplate do not replace the message carrying the project fact.
If the final scan finds a new human decision, approval, release request, blocker, or owner-channel coordination result, reassess the repository and PR state and refresh affected durable evidence before reporting. A successful push does not justify sending a summary that became stale while CI ran.
## 7. Scheduled-delivery boundary
When the scheduler automatically delivers the final response, return the concise report as the final response. Do not post through Discord APIs, and do not claim message delivery or readback. Repository push/readback proves publication of the artifact only.