项目文件夹

文件
Asim Aslam 76961d503a feat(loop): go-micro runs on micro loop (dogfood its own tool) (#3657)
* feat(loop): go-micro now runs on `micro loop` (dogfood its own tool)

Replace go-micro's five hand-written loop workflows with ones generated by
`micro loop init --roles all`, making "go-micro builds itself with micro loop"
literally true rather than aspirational.

- Generate loop-planner/builder/triage/coherence/release.yml via the CLI with
  go-micro's cadence and wiring (planner :59, builder :29, coherence 07:00,
  release 23:00; CI gate "Harness (E2E)"; token CODEX_TRIGGER_TOKEN; base master;
  tag prefix v). The old loop-architect.yml and loop-devrel.yml become
  loop-planner.yml and loop-coherence.yml.
- Move the queue to .github/loop/PRIORITIES.md and add .github/loop/NORTH_STAR.md
  (a concise steer pointing to internal/docs/THESIS.md), adopting the loop's
  convention.
- Preserve go-micro's rich instructions as editable policy in
  .github/loop/prompts/{planner,builder,triage,coherence}.md — the architect
  founder-lens + adoption steer, the increment builder, harness-failure triage,
  and the DevRel changelog/blog pass — faithfully ported from the old inline
  prompts. Behavior is preserved; only the mechanism is now generated.
- CLI refinement the migration surfaced: prompts (and NORTH_STAR/PRIORITIES) are
  now write-once — `micro loop init --force` refreshes workflow MECHANICS but
  never clobbers customized POLICY. Added renderKeep + a test.
- Update internal/docs/CONTINUOUS_IMPROVEMENT.md (renamed workflows, moved queue,
  the prompt-file model, and a note that these files are generated by micro loop).

Verified: build, go test ./cmd/micro/loop/..., golangci-lint (0 issues), gofmt;
`micro loop verify` passes; all generated workflows are valid YAML; re-running
init --force is idempotent and preserves policy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CmdEY7pYmV5zzwCjNJ4ykL

* loop: strip prompt editorial comments before posting to the agent

Verification of the migration surfaced that a dispatch workflow posted the
prompt file's leading <!-- editorial --> header to the agent, and __ISSUE__
inside it got substituted too (e.g. "Keep 4242 literal"). Harmless (invisible
in rendered markdown) but unclean and mildly confusing. The dispatch and triage
body construction now strips <!-- --> blocks with `sed '/<!--/,/-->/d'` before
substituting runtime tokens. Regenerated go-micro's workflows; added a test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CmdEY7pYmV5zzwCjNJ4ykL

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-02 11:14:21 +01:00

3.0 KiB

Act as DevRel for go-micro. Do these, in order.

COHERENCE AUDIT. Audit the public surface — README.md, internal/website/ (landing index.html + docs/), and the blog under internal/website/blog/ — for coherence with the North Star in .github/loop/NORTH_STAR.md (an agent harness and service framework; the services → agents → workflows lifecycle). Look for: places where README / website / docs contradict each other, are stale, or describe behavior that has since changed (cross-check against the code and recently merged PRs); whether the README is crisp and leads with the harness positioning; and one to three genuinely blog-worthy items from recently shipped work.

CHANGELOG UPKEEP (safe factual task — goes in the auto-merged PR). Keep CHANGELOG.md living, in Keep-a-Changelog format with newest content at the top under ## [Unreleased]. Enumerate PRs merged to master since the last update (gh pr list --state merged --base master --limit 60 --json number,title,mergedAt,labels) and add a concise, user-facing entry for each genuine change not yet recorded under the right ### Added / ### Changed / ### Fixed / ### Documentation subheading — SKIP internal loop/CI/priorities-refresh churn. If a new vX.Y.Z tag was cut since the last run (git fetch --tags --force), rename ## [Unreleased] to ## [X.Y.Z] - <Month YYYY> and open a fresh empty ## [Unreleased] above it. Do not invent entries.

CHANGELOG BLOG POST (blog voice — do NOT auto-merge). If, and only if, enough user-facing work has accumulated since the last changelog post to be worth reading (roughly a week's worth; not a near-empty post every day), draft a short "What's new in Go Micro" post as the next-numbered file in internal/website/blog/, mirroring the latest post's frontmatter and prev-nav, and add an entry at the top of internal/website/blog/index.html. Base it strictly on the CHANGELOG.

THEN: (A) post a findings report as a comment on this issue (#ISSUE) — what's aligned, what drifted, what you fixed, the CHANGELOG entries added, and whether you drafted a blog post (and why/why not). (B) Open ONE auto-merging PR for the SAFE factual work only — coherence/crispness fixes AND the CHANGELOG update (NOT brand/positioning rewrites, NOT the blog post): git switch -c codex/coherence-__ISSUE__, git push -u origin codex/coherence-__ISSUE__, gh pr create --base master --label codex --title "<title>" --body "<summary, Closes #__ISSUE__>", then gh pr merge --squash --auto --delete-branch. (C) If you drafted a changelog blog post, open it as a SEPARATE PR (codex/coherence-blog-__ISSUE__, title prefixed blog:) and do NOT enable auto-merge — leave it for the human. Same for any brand/positioning copy. Do not use the make_pr tool.