Split documentation into README, CHANGELOG and DECISIONS #23

Merged
ellen merged 2 commits from docs/restructure into main 2026-09-02 17:42:01 +00:00
Member

Applies the estate-wide three-file documentation convention, matching the reference implementation in valssi/cal-diy.

  • README.md — current state: architecture, all six workflow routes and their triggers, the lib/ actions, the label taxonomy in labels.json, and an index of learnings/.
  • CHANGELOG.md — 19 entries backfilled from git across PRs #1–#22.
  • DECISIONS.md — 17 entries with an initiator label each; Legacy for anything predating this log. Covers label-driven dispatch, org-wide label seeding, comment-context injection and runner-injected credentials.

learnings/ is left as payload — indexed from the README, not rewritten.

Comments in the seven workflow files, both lib/ actions and both label scripts are trimmed to brief statements of what each section does. Verified comment-only — no trigger, job, step, label or expression changed.

One stale README claim corrected: concurrency was described as "not in these workflows, deferred until it matters", but every route does declare a per-issue concurrency: group.

⚠️ Possible live breakage on main, worth checking

plan.yaml, dev.yaml, test.yaml, coordinate.yaml and reflect.yaml all declare a secrets: block directly under on.workflow_call: — confirmed present on main for all five.

An unmerged branch (feat/runner-injested-credentials, commit aebdf0f, diverged at 6ffebe4) diagnoses exactly this: "Forgejo's parser accepts only inputs and outputs there, so all five files were unparseable — every issue event produced five [failures]." If that diagnosis holds, every label route currently fails at parse time.

To be clear about what this is not: this is distinct from the known chronic Forgejo Actions error loop (CreateCommitStatus() … head commit is missing in event payload), which fires as a 15-minute cron burst from schedule:-triggered runs. This one would fire on issue events instead. Two separate problems — fixing this will not quiet that noise.

Not touched here — it is a behaviour fix, out of scope for a docs pass — but it wants verifying against the live instance and, if confirmed, that branch (or an equivalent) merging.

Two related notes:

  • The agents/*.md roster is stale: it marks test, coordinate and reflect as status: planned and points at implement.yaml / triage.yaml, but those routes are active as test.yaml / coordinate.yaml / reflect.yaml, and triage.yaml does not exist.
  • The runner-injected-credentials entry in DECISIONS.md is labelled as proposed, not deployed — lib/credentials/ does not exist in the tree.

🤖 Generated with Claude Code

Applies the estate-wide three-file documentation convention, matching the reference implementation in `valssi/cal-diy`. - **`README.md`** — current state: architecture, all six workflow routes and their triggers, the `lib/` actions, the label taxonomy in `labels.json`, and an index of `learnings/`. - **`CHANGELOG.md`** — 19 entries backfilled from git across PRs #1–#22. - **`DECISIONS.md`** — 17 entries with an initiator label each; `Legacy` for anything predating this log. Covers label-driven dispatch, org-wide label seeding, comment-context injection and runner-injected credentials. `learnings/` is left as payload — indexed from the README, not rewritten. Comments in the seven workflow files, both `lib/` actions and both label scripts are trimmed to brief statements of what each section does. **Verified comment-only** — no trigger, job, step, label or expression changed. One stale README claim corrected: concurrency was described as *"not in these workflows, deferred until it matters"*, but every route does declare a per-issue `concurrency:` group. ### ⚠️ Possible live breakage on `main`, worth checking `plan.yaml`, `dev.yaml`, `test.yaml`, `coordinate.yaml` and `reflect.yaml` **all declare a `secrets:` block directly under `on.workflow_call:`** — confirmed present on `main` for all five. An unmerged branch (`feat/runner-injested-credentials`, commit `aebdf0f`, diverged at `6ffebe4`) diagnoses exactly this: *"Forgejo's parser accepts only `inputs` and `outputs` there, so all five files were unparseable — every issue event produced five [failures]."* If that diagnosis holds, **every label route currently fails at parse time.** To be clear about what this is *not*: this is **distinct from** the known chronic Forgejo Actions error loop (`CreateCommitStatus() … head commit is missing in event payload`), which fires as a 15-minute cron burst from `schedule:`-triggered runs. This one would fire on **issue events** instead. Two separate problems — fixing this will not quiet that noise. Not touched here — it is a behaviour fix, out of scope for a docs pass — but it wants verifying against the live instance and, if confirmed, that branch (or an equivalent) merging. Two related notes: - The `agents/*.md` roster is stale: it marks `test`, `coordinate` and `reflect` as `status: planned` and points at `implement.yaml` / `triage.yaml`, but those routes are active as `test.yaml` / `coordinate.yaml` / `reflect.yaml`, and `triage.yaml` does not exist. - The runner-injected-credentials entry in `DECISIONS.md` is labelled as **proposed, not deployed** — `lib/credentials/` does not exist in the tree. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
docs: split documentation into README, CHANGELOG and DECISIONS
Some checks failed
coordinate.yaml / docs: split documentation into README, CHANGELOG and DECISIONS (push) Failing after 0s
dev.yaml / docs: split documentation into README, CHANGELOG and DECISIONS (push) Failing after 0s
plan.yaml / docs: split documentation into README, CHANGELOG and DECISIONS (push) Failing after 0s
reflect.yaml / docs: split documentation into README, CHANGELOG and DECISIONS (push) Failing after 0s
test.yaml / docs: split documentation into README, CHANGELOG and DECISIONS (push) Failing after 0s
coordinate.yaml / docs: split documentation into README, CHANGELOG and DECISIONS (pull_request) Failing after 0s
dev.yaml / docs: split documentation into README, CHANGELOG and DECISIONS (pull_request) Failing after 0s
plan.yaml / docs: split documentation into README, CHANGELOG and DECISIONS (pull_request) Failing after 0s
reflect.yaml / docs: split documentation into README, CHANGELOG and DECISIONS (pull_request) Failing after 0s
test.yaml / docs: split documentation into README, CHANGELOG and DECISIONS (pull_request) Failing after 0s
agent / tick (pull_request) Has been skipped
agent / resolve (pull_request) Successful in 1s
agent / dev (pull_request) Has been skipped
agent / implement (pull_request) Successful in 0s
agent / dev-bounce (pull_request) Successful in 0s
agent / dispatch (pull_request) Successful in 0s
agent / plan (pull_request) Successful in 0s
agent / test (pull_request) Successful in 0s
agent / coordinate (pull_request) Successful in 0s
agent / reflect (pull_request) Successful in 0s
539ecb91a5
README.md describes current state: the architecture, all six workflow routes and their
triggers, the lib/ actions, the label taxonomy and the learnings/ index. CHANGELOG.md
is backfilled from git across PRs #1-#22. DECISIONS.md carries the rationale with an
initiator label per entry; everything predating this log is labelled Legacy rather than
guessed. learnings/ is left as payload and indexed rather than rewritten.

Inline comments in the seven workflow files, both lib/ actions and both label scripts
are trimmed to brief statements of what each section does. Verified comment-only.

One stale README claim corrected: concurrency was described as "not in these workflows,
deferred until it matters", but every route does declare a per-issue concurrency group.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
docs: widen the AI label to cover independent AI decisions
Some checks failed
coordinate.yaml / Merge pull request 'Split documentation into README, CHANGELOG and DECISIONS' (#23) from docs/restructure into main (pull_request) Failing after 0s
dev.yaml / Merge pull request 'Split documentation into README, CHANGELOG and DECISIONS' (#23) from docs/restructure into main (pull_request) Failing after 0s
plan.yaml / Merge pull request 'Split documentation into README, CHANGELOG and DECISIONS' (#23) from docs/restructure into main (pull_request) Failing after 0s
reflect.yaml / Merge pull request 'Split documentation into README, CHANGELOG and DECISIONS' (#23) from docs/restructure into main (pull_request) Failing after 0s
test.yaml / Merge pull request 'Split documentation into README, CHANGELOG and DECISIONS' (#23) from docs/restructure into main (pull_request) Failing after 0s
agent / tick (pull_request) Has been skipped
agent / resolve (pull_request) Successful in 1s
agent / implement (pull_request) Successful in 0s
agent / dev (pull_request) Has been skipped
agent / dev-bounce (pull_request) Successful in 0s
agent / dispatch (pull_request) Successful in 0s
agent / test (pull_request) Successful in 0s
agent / plan (pull_request) Successful in 0s
agent / coordinate (pull_request) Successful in 0s
agent / reflect (pull_request) Successful in 0s
coordinate.yaml / docs: widen the AI label to cover independent AI decisions (push) Failing after 0s
dev.yaml / docs: widen the AI label to cover independent AI decisions (push) Failing after 0s
plan.yaml / docs: widen the AI label to cover independent AI decisions (push) Failing after 0s
reflect.yaml / docs: widen the AI label to cover independent AI decisions (push) Failing after 0s
test.yaml / docs: widen the AI label to cover independent AI decisions (push) Failing after 0s
coordinate.yaml / docs: widen the AI label to cover independent AI decisions (pull_request) Failing after 0s
dev.yaml / docs: widen the AI label to cover independent AI decisions (pull_request) Failing after 0s
plan.yaml / docs: widen the AI label to cover independent AI decisions (pull_request) Failing after 0s
reflect.yaml / docs: widen the AI label to cover independent AI decisions (pull_request) Failing after 0s
test.yaml / docs: widen the AI label to cover independent AI decisions (pull_request) Failing after 0s
110e042dfb
The label table defined `AI` only as "AI proposed, Ellen approved", which left an
independent AI decision with no correct label. It now covers both. `Ellen` still means
Ellen set the direction.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
ellen merged commit ea21a83d94 into main 2026-09-02 17:42:01 +00:00
ellen deleted branch docs/restructure 2026-09-02 17:42:01 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
valssi-public/agent-workflows!23
No description provided.