Переглянути джерело

docs(agents): fix triage tracker docs

Remove the unbuilt 'Wayfinding operations' section (documents a /wayfinder
feature that does not exist, with broken gh commands and undeclared labels).
Fix the external-PR listing command: authorAssociation is not a valid
gh pr list --json field, so enumerate then fetch per-PR via gh pr view.
Mark referenced domain-modeling skills as external. Fix ADR-0001 -> ADR-001.
Drop hardcoded fork name, strengthen fork-redirect caution, rename the
'Agent skills' heading to 'Agent Operating Context'.
Michael Henke 3 тижнів тому
батько
коміт
4fb386e732
3 змінених файлів з 7 додано та 19 видалено
  1. 1 1
      AGENTS.md
  2. 2 4
      docs/agents/domain.md
  3. 4 14
      docs/agents/issue-tracker.md

+ 1 - 1
AGENTS.md

@@ -286,7 +286,7 @@ Read-only dependency source repositories are available under
 - `.slim/clonedeps/repos/modelcontextprotocol__typescript-sdk/` - `https://github.com/modelcontextprotocol/typescript-sdk.git` at `v1.29.0@e12cbd7078db388152f6e839abdbe09ba01f3f32`; inspect it for MCP protocol and server integration internals.
 - `.slim/clonedeps/repos/agentclientprotocol__agent-client-protocol/` - `https://github.com/agentclientprotocol/agent-client-protocol.git` at `main@8110fde4e8283b4bef1329d1ef7b074fd14cee1e`; inspect it for ACP protocol specification and schema details.
 
-## Agent skills
+## Agent Operating Context
 
 ### Issue tracker
 

+ 2 - 4
docs/agents/domain.md

@@ -8,9 +8,7 @@ How the engineering skills should consume this repo's domain documentation when
 - **`docs/adr/`** at the repo root — read ADRs that touch the area you're about to work in.
 - **`codemap.md`** at the repo root — the repo's own architecture map (referenced by `AGENTS.md`); read it for module responsibilities and integration points before deep work in a folder.
 
-This is a **single-context** repo: one `CONTEXT.md` and one `docs/adr/` at the root. There is no `CONTEXT-MAP.md` and no per-context `CONTEXT.md`.
-
-If any of these files don't exist, **proceed silently**. Don't flag their absence; don't suggest creating them upfront. The `/domain-modeling` skill (reached via `/grill-with-docs` and `/improve-codebase-architecture`) creates them lazily when terms or decisions actually get resolved.
+If any of these files don't exist, **proceed silently**. Don't flag their absence; don't suggest creating them upfront. The `/domain-modeling` skill (reached via `/grill-with-docs` and `/improve-codebase-architecture` — external skills, not bundled in this repo) creates them lazily when terms or decisions actually get resolved.
 
 ## Use the glossary's vocabulary
 
@@ -22,4 +20,4 @@ If the concept you need isn't in the glossary yet, that's a signal — either yo
 
 If your output contradicts an existing ADR, surface it explicitly rather than silently overriding:
 
-> _Contradicts ADR-0001 (session reflection mode) — but worth reopening because…_
+> _Contradicts ADR-001 (session reflection mode) — but worth reopening because…_

+ 4 - 14
docs/agents/issue-tracker.md

@@ -1,6 +1,6 @@
 # Issue tracker: GitHub
 
-Issues and PRs for this repo live as GitHub issues. Use the `gh` CLI for all operations. The project repo is `alvinunreal/oh-my-opencode-slim`; the fork `mhenke/oh-my-opencode-slim` is used for PRs.
+Issues and PRs for this repo live as GitHub issues. Use the `gh` CLI for all operations. The project repo is `alvinunreal/oh-my-opencode-slim`.
 
 ## Conventions
 
@@ -11,7 +11,7 @@ Issues and PRs for this repo live as GitHub issues. Use the `gh` CLI for all ope
 - **Apply / remove labels**: `gh issue edit <number> --add-label "..."` / `--remove-label "..."`
 - **Close**: `gh issue close <number> --comment "..."`
 
-Infer the repo from `git remote -v` — `gh` does this automatically when run inside a clone. When working from the fork, pass `--repo alvinunreal/oh-my-opencode-slim` (or rely on the `GH_REPO` default).
+Infer the repo from `git remote -v` — `gh` does this automatically when run inside a clone. **Write operations (create / label / comment / close) must target the upstream tracker:** pass `--repo alvinunreal/oh-my-opencode-slim` (or set `GH_REPO=alvinunreal/oh-my-opencode-slim`). In a fork clone, a bare `gh` command would mutate your fork instead of the project tracker.
 
 ## Pull requests as a triage surface
 
@@ -23,13 +23,13 @@ Guardrails (per council review):
 - Apply only `bug` or `enhancement` to PRs. Do not apply state labels (`needs-triage`, `needs-info`, `ready-for-agent`, `ready-for-human`, `wontfix`).
 - Never apply `good-to-code` to PRs — they are already code; the label is noise.
 - Never auto-close external PRs during triage. Closure stays in the review flow / maintainer decision.
-- Filter on `authorAssociation`, not PR content: keep CONTRIBUTOR / FIRST_TIME_CONTRIBUTOR / NONE; drop OWNER / MEMBER / COLLABORATOR.
+- Filter on `authorAssociation`, not PR content: keep CONTRIBUTOR / FIRST_TIME_CONTRIBUTOR / NONE (and any other non-collaborator association); drop OWNER / MEMBER / COLLABORATOR / FIRST_TIMER / MANNEQUIN.
 - Keep PR triage out of issue metrics — don't mix PR counts into issue triage reporting.
 
 When enabled, PRs are labeled using the `gh pr` equivalents:
 
 - **Read a PR**: `gh pr view <number> --comments` and `gh pr diff <number>` for the diff.
-- **List external PRs for triage**: `gh pr list --state open --json number,title,body,labels,author,authorAssociation,comments` then keep only `authorAssociation` of `CONTRIBUTOR`, `FIRST_TIME_CONTRIBUTOR`, or `NONE` (drop `OWNER`/`MEMBER`/`COLLABORATOR`).
+- **List external PRs for triage**: `gh pr list --state open --json number,title,body,labels,author,comments` to enumerate open PRs, then for each run `gh pr view <number> --json authorAssociation` and keep only `CONTRIBUTOR`, `FIRST_TIME_CONTRIBUTOR`, or `NONE` (drop `OWNER`/`MEMBER`/`COLLABORATOR` and any other non-collaborator association).
 - **Comment / label / close**: `gh pr comment`, `gh pr edit --add-label`/`--remove-label`, `gh pr close`.
 
 GitHub shares one number space across issues and PRs, so a bare `#42` may be either — resolve with `gh pr view 42` and fall back to `gh issue view 42`.
@@ -42,13 +42,3 @@ Create a GitHub issue.
 
 Run `gh issue view <number> --comments` (or `gh pr view` for a PR).
 
-## Wayfinding operations
-
-Used by `/wayfinder`. The **map** is a single issue with **child** issues as tickets.
-
-- **Map**: a single issue labelled `wayfinder:map`, holding the Notes / Decisions-so-far / Fog body. `gh issue create --label wayfinder:map`.
-- **Child ticket**: an issue linked to the map as a GitHub sub-issue (`gh api` on the sub-issues endpoint). Where sub-issues aren't enabled, add the child to a task list in the map body and put `Part of #<map>` at the top of the child body. Labels: `wayfinder:<type>` (`research`/`prototype`/`grilling`/`task`). Once claimed, the ticket is assigned to the driving dev.
-- **Blocking**: GitHub's **native issue dependencies** — the canonical, UI-visible representation. Add an edge with `gh api --method POST repos/<owner>/<repo>/issues/<child>/dependencies/blocked_by -F issue_id=<blocker-db-id>`, where `<blocker-db-id>` is the blocker's numeric **database id** (`gh api repos/<owner>/<repo>/issues/<n> --jq .id`, _not_ the `#number` or `node_id`). GitHub reports `issue_dependencies_summary.blocked_by` (open blockers only — the live gate). Where dependencies aren't available, fall back to a `Blocked by: #<n>, #<n>` line at the top of the child body. A ticket is unblocked when every blocker is closed.
-- **Frontier query**: list the map's open children (`gh issue list --state open`, scoped to the map's sub-issues / task list), drop any with an open blocker (`issue_dependencies_summary.blocked_by > 0`, or an open issue in the `Blocked by` line) or an assignee; first in map order wins.
-- **Claim**: `gh issue edit <n> --add-assignee @me` — the session's first write.
-- **Resolve**: `gh issue comment <n> --body "<answer>"`, then `gh issue close <n>`, then append a context pointer (gist + link) to the map's Decisions-so-far.