docs: add .agent playbook and converge docs to single sources#6
Open
HynLcc wants to merge 2 commits into
Open
Conversation
Add a dedicated .agent/ folder that guides an agent through authoring a perf case (intake -> spec -> confirm -> runner -> write -> register -> check), with single-purpose files for the runner catalog, case spec template, implementation checklist, seed/execute contract, and a worked example. Slim README.md to a human overview and point case authoring at .agent/. Remove the stale runner/case lists and "add a case" block from the e2e ops doc and point them at the authoritative sources. Mark docs/plan.md as a design snapshot. Trim tasks/todo.md and drop the open-decisions block that duplicated plan.md. Each fact now has one home: case list (README), runner catalog (.agent), CI command (ops doc), Jaeger endpoints (trace-viewer), seed/execute (.agent). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The perf workflow moved to a single serial job, but matrix-era leftovers remained. Remove the unused resolve-case-matrix.mjs (which also kept a drifted copy of registry.ts case ids) and resolve-case-max-parallel.mjs, drop the deprecated max_parallel workflow input, and delete the stale matrix-shaped example workflow draft. Repoint check-yaml.mjs from the deleted draft to the real sync-perf-cases.yml so both runnable workflows are validated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TL;DR
Docs + dead-code cleanup only — no application or runtime logic changes. This PR:
.agent/playbook that walks an agent (or a newcomer) through adding a perf case;pnpm checkpasses. Two commits, split by intent (docs:thenchore:).Why
The docs had drifted into several copies of the same facts, and some copies were already wrong:
docs/operations/teable-ee-e2e.mdlisted 3 runners and 4 cases. The repo actually has 8 runners and 11 cases — so anyone trusting that file got stale information.gh workflow run ...) was copy-pasted across three files.scripts/resolve-case-matrix.mjskept its own hardcoded copy of the case list fromregistry.ts(also drifted: 4 vs 11), even though nothing calls it anymore — the workflow moved from a parallel matrix to a single serial job a while ago and left the scaffolding behind.The risk this creates: an agent or a reviewer reads one of the stale copies and acts on the wrong version. The goal of this PR is one home per fact.
What changed
1. New
.agent/playbook (the main addition)A small folder an agent reads to author a perf case.
.agent/README.mdis the entry point and is the workflow; the other files are pulled in only when a step needs them.README.mdintake → draft spec → confirm → pick runner → write → register → checkrunners.mdreuse → extend → newdecisioncase-spec.mdchecklist.mdseed-execute.mdexamples.mdrecord-delete/delete-10k) as the worked exampleWhy a hidden
.agent/folder: it keeps the repo root uncluttered while staying fully readable to tools/agents. (Folder name and location were chosen deliberately for this.)2. Docs converged to single sources
README.mdslimmed to a human-facing overview (~810 lines moved into.agent/or dropped). Case authoring now links to.agent/.docs/operations/teable-ee-e2e.md— removed the stale runner list, stale case list, and the "add a case" block; these now link to the authoritative sources. Jaeger endpoint URLs now point totrace-viewer.mdinstead of being restated.docs/plan.md— added a header note marking it a design snapshot (the repo is authoritative where they differ); §11 now points to the real workflow file.tasks/todo.md— trimmed; removed the open-decisions block that duplicatedplan.md§15.3. Removed matrix-era dead code
All confirmed unreferenced (grepped across workflows, scripts, and
package.json):scripts/resolve-case-matrix.mjsandscripts/resolve-case-max-parallel.mjsdocs/examples/perf-regression.workflow.yml(stale, still in the old matrix shape)max_parallelworkflow input (deprecated, never consumed) — the only behavior change in this PRscripts/check-yaml.mjsrepointed from the deleted draft to the realsync-perf-cases.yml, so both runnable workflows are now validated (previously only one was)Single-source map (after this PR)
registry.tsREADME.md.agent/runners.md.agent/docs/operations/teable-ee-e2e.md.agent/seed-execute.mddocs/operations/trace-viewer.mddocs/plan.mdA few facts intentionally still repeat where collapsing them would hurt more than help: necessary code literals (env defaults, workflow-injected values), self-contained case
.mddescriptions, and thepnpm checkinstruction. These are stable and not drift-prone.How to review
docs:) is the playbook + convergence; commit 2 (chore:) is the dead-code removal. Each stands on its own..agent/README.md. If the authoring flow there reads clearly to you, the core goal of this PR is met.pnpm checkstill passes and now additionally validatessync-perf-cases.yml.cases/,framework/, andregistry.tsare untouched. The only workflow-interface change is dropping the unusedmax_parallelinput.Verification
pnpm check # format + YAML + TS syntax + case registry — all green🤖 Generated with Claude Code