You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore(harness): add Plan-by footer, source Acked-by/Plan-by from opencode.json
Every conventional commit now includes three footers: Plan-by (sourced
from agent.plan.model in opencode.json), Acked-by (sourced from
agent.build.model), and Signed-off-by. Both model IDs use the segment
after the last "/" — e.g. openrouter/z-ai/glm-5.2 becomes glm-5.2.
Acked-by is no longer the runtime model; it now reads the configured
build model from opencode.json, making both footers stable references.
commitlint enforces all three via a custom trailers-exist plugin rule
(replaces the built-in trailer-exists which only accepts a single
string). Updated the conventional-commits skill, tdd agent,
writing-plans skill, finishing-a-development-branch skill, AGENTS.md,
README.md, and commitlint.config.js.
Plan-by: glm-5.2
Acked-by: deepseek-v4-pro
Signed-off-by: kyau <git@kyaulabs.com>
- Commits: Conventional Commits format (type[scope]: subject) — see `conventional-commits` skill
136
136
- Signed commits required
137
-
- Every commit must include `Acked-by:` (model ID in kebab-case, e.g. `deepseek-v4-pro`) and `Signed-off-by:` (user) footers. Default Signed-off-by: `kyau <git@kyaulabs.com>`.
137
+
- Every commit must include `Plan-by:` (sourced from `agent.plan.model`in `opencode.json`), `Acked-by:` (sourced from `agent.build.model` in `opencode.json` — model ID segment after the last `/`), and `Signed-off-by:` (user) footers. Default Signed-off-by: `kyau <git@kyaulabs.com>`.
138
138
- No squash merges. Each logical change is its own atomic commit — the git history serves as the development and evaluation log. A pre-push hook warns on single-commit branches that look like squashes.
139
139
140
140
After implementing any change — whether via @tdd, a direct fix, an issue
141
141
tracker resolution, or a fast-path trivial change — produce a commit message
142
142
in conventional commits format before committing. Load the
143
-
`conventional-commits` skill and produce: type[scope]: subject + Acked-by +
144
-
Signed-off-by footers. The commit-msg hook blocks invalid messages, but the
143
+
`conventional-commits` skill and produce: type[scope]: subject + Plan-by +
144
+
Acked-by + Signed-off-by footers. The commit-msg hook blocks invalid messages,
145
+
but the
145
146
message should be well-formed before you reach the hook.
0 commit comments