Skip to content

docs: make the umbrella canonical for triage labels and integration-branch lifecycle - #7

Merged
RonenMars merged 1 commit into
mainfrom
docs/shared-agent-vocabulary
Aug 20, 2026
Merged

docs: make the umbrella canonical for triage labels and integration-branch lifecycle#7
RonenMars merged 1 commit into
mainfrom
docs/shared-agent-vocabulary

Conversation

@RonenMars

Copy link
Copy Markdown
Owner

Two vocabularies were canonical by accident in threadbase-mobile — which is the exact failure docs/issue-tracker.md exists to prevent:

A convention that exists in two places becomes two conventions — the first divergence is always a pointer sentence, and by the time anyone notices, the rules have drifted too.

docs/triage-labels.md

The state labels — needs-triage, needs-info, ready-for-agent, ready-for-human, wontfix — with their colours, and the rule that they are additive to priority/type/area rather than a substitute.
Includes the two near-collisions worth naming (question the type versus needs-info the state; wontfix serving both roles) and a compliance query for issues carrying two states at once.

Both component repos now hold the identical five-label set at identical colours, verified after this was filed.

docs/integration-branch-lifecycle.md

The rule the integration-branch skill in both repos operates under: an integration branch is a staging area with an expiry, a run ends when the branch is gone rather than when it is green, and never develop on it.

Carries the audit that makes deletion safe — ask does this ref hold a file main has never had, not "is it merged", because squash-merging gives landed content a new SHA and ancestry therefore reports every merged pull request as unlanded.
Plus the two checks from that audit that return a confident wrong answer instead of an error: a branch-name glob is a filter rather than an inventory, and non-ancestry does not mean unlanded.

What is deliberately not moved here

threadbase-mobile/docs/integration-branch-retirement-2026-08-12.md stays in that repo.
Its ref list, file counts and misnamed-commit analysis are that repo's history, and three of its relative links resolve only there.
The new lifecycle doc states the reusable rule and links to that record as its origin.

Reference

Documentation only.

…ranch lifecycle

Two vocabularies were canonical by accident in threadbase-mobile, which is the failure this repo's issue-tracker doc exists to prevent.

Adds triage-labels.md for the state labels — needs-triage, needs-info, ready-for-agent, ready-for-human — with their colours and the rule that they are additive to priority, type and area rather than a substitute.
Both threadbase-mobile and threadbase-streamer now carry the identical five-label set.

Adds integration-branch-lifecycle.md for the rule the integration-branch skill in both repos operates under: an integration branch is a staging area with an expiry, a run ends when the branch is gone, and each ref is audited by whether it holds a file main has never had rather than by ancestry.
Squash-merging gives landed content a new SHA, so ancestry reports every merged pull request as unlanded.

The mobile retirement document is not moved here: its refs, file counts and misnamed commit are that repo's history, and three of its relative links do not resolve outside it.
This file states the reusable rule and links to that record as its origin.

Indexes both in docs/README.md and cross-links the triage set from issue-tracker.md.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant