Make pr-reviewer binding provider/model-agnostic #22

Merged
kilo merged 2 commits from maintenance/pr-reviewer-binding into develop 2026-10-05 19:41:05 +00:00
Member

Owner-authorized maintenance (direct instruction, 2026-10-05): make the pr-reviewer contract provider/model-binding agnostic.

Change

Only .kilo/agents/pr-reviewer.md:

  • removed frontmatter model: openai/gpt-6.1-sol and variant: high (no replacement pin);
  • removed the prose asserting the GPT-6.1 Sol High binding and the installed Kilo 7.8.3 model listing;
  • inserted the canonical ## Reviewer binding policy: reviewer inherits the implementation session's provider family/model/reasoning configuration by default, with OpenAI→OpenAI and z.ai→z.ai provider-family affinity, explicit owner override support, no silent substitution, and precise reporting when a binding cannot be executed.

Preserved

Console-specific permission allowlists (npm_config_offline=true typecheck/test/make commands, canonical Creatidy/creatidy-console ls-remote URLs including the folded YAML ? key : allow forms), the .kilo/rules/30-implementation-discipline.md reference, the NOTICE provenance comment, checkout/read-only constraints, verdict semantics, and the stable JSON result schema (no new fields).

Validation

  • YAML frontmatter parses; remaining keys: description, mode, permission (folded multiline description: untouched)
  • no openai/gpt-6.1-sol, variant: high, GPT-6.1 or Kilo 7.8.3 references remain
  • git diff --name-only origin/develop...HEAD → only .kilo/agents/pr-reviewer.md
  • contract-test phrase assertions verified intact (without exceeding this allowlist, Docker/evidence requirements)

⚠ Why this PR is not merged

tests/workflow-contract.test.mjs («independent review retains frozen permissions/model and JSON schema») asserts the SHA-256 of the reviewer frontmatter equals 2fe21aebef14cab6dfc709822b9d3a356fb01eceb3923758ef7d892bae919a3b — the hash of the current pinned frontmatter (verified: origin/develop frontmatter hashes to exactly that value; this branch's hashes to 99c2a06cbdcd476a3dcc6e6b424d548a0af4185da6d9559714dd3cb5044b27e7). The frozen hash encodes the very model:/variant: pins this maintenance removes, so the expected single CI failure is that assertion.

Merging requires a one-line follow-up updating the frozen hash (or replacing the frontmatter freeze with a no-model:/no-variant: assertion). That test file is outside this task's authorized scope, so the owner must authorize it. Everything else in the change is complete and validated.

Owner-authorized maintenance (direct instruction, 2026-10-05): make the `pr-reviewer` contract provider/model-binding agnostic. ## Change Only `.kilo/agents/pr-reviewer.md`: - removed frontmatter `model: openai/gpt-6.1-sol` and `variant: high` (no replacement pin); - removed the prose asserting the GPT-6.1 Sol High binding and the installed Kilo 7.8.3 model listing; - inserted the canonical `## Reviewer binding` policy: reviewer inherits the implementation session's provider family/model/reasoning configuration by default, with OpenAI→OpenAI and z.ai→z.ai provider-family affinity, explicit owner override support, no silent substitution, and precise reporting when a binding cannot be executed. ## Preserved Console-specific permission allowlists (`npm_config_offline=true` typecheck/test/make commands, canonical Creatidy/creatidy-console ls-remote URLs including the folded YAML `? key : allow` forms), the `.kilo/rules/30-implementation-discipline.md` reference, the NOTICE provenance comment, checkout/read-only constraints, verdict semantics, and the stable JSON result schema (no new fields). ## Validation - YAML frontmatter parses; remaining keys: `description`, `mode`, `permission` (folded multiline `description:` untouched) - no `openai/gpt-6.1-sol`, `variant: high`, `GPT-6.1` or `Kilo 7.8.3` references remain - `git diff --name-only origin/develop...HEAD` → only `.kilo/agents/pr-reviewer.md` - contract-test phrase assertions verified intact (`without exceeding this allowlist`, Docker/evidence requirements) ## ⚠ Why this PR is not merged `tests/workflow-contract.test.mjs` («independent review retains frozen permissions/model and JSON schema») asserts the SHA-256 of the reviewer frontmatter equals `2fe21aebef14cab6dfc709822b9d3a356fb01eceb3923758ef7d892bae919a3b` — the hash of the current pinned frontmatter (verified: origin/develop frontmatter hashes to exactly that value; this branch's hashes to `99c2a06cbdcd476a3dcc6e6b424d548a0af4185da6d9559714dd3cb5044b27e7`). The frozen hash encodes the very `model:`/`variant:` pins this maintenance removes, so the expected single CI failure is that assertion. Merging requires a one-line follow-up updating the frozen hash (or replacing the frontmatter freeze with a no-`model:`/no-`variant:` assertion). That test file is outside this task's authorized scope, so the owner must authorize it. Everything else in the change is complete and validated.
docs(workflow): make pr-reviewer binding provider/model-agnostic
Some checks failed
Development Checks / check (pull_request) Failing after 13s
537698651d
Remove the hard-coded openai/gpt-6.1-sol + variant: high reviewer pin and the
Kilo 7.8.3 runtime-version assertion from the pr-reviewer contract. The
reviewer now inherits the implementation session's provider family, model and
reasoning/thinking configuration, with OpenAI-to-OpenAI and z.ai-to-z.ai
affinity by default, overridable only by explicit owner instruction.
Console-specific permission allowlists, offline Node validation commands, the
NOTICE provenance comment, read-only behavior and the stable JSON result
schema are unchanged.

Owner-authorized maintenance; changes only .kilo/agents/pr-reviewer.md.

Known gate interaction: tests/workflow-contract.test.mjs freezes the SHA-256
of the reviewer frontmatter, which still encodes the removed pins; this
maintenance is not allowed to modify that test. See PR description.
test(workflow): replace frozen frontmatter hash with semantic assertions
All checks were successful
Development Checks / check (pull_request) Successful in 20s
7bb809e92e
The full-frontmatter SHA-256 freeze made any otherwise valid reviewer
configuration change fail. Replace it with semantic security/binding
assertions: mode: subagent, deny-by-default permissions, mutation and
secret/progress-ledger denials, expected Forgejo/Git/offline-validation read
capabilities, no pinned model/variant, and the inheritance/provider-family
policy. Also apply Prettier to the reviewer markdown so format:check passes.

Owner-authorized remediation of the only PR #22 blocker.
kilo merged commit f4ac6faac9 into develop 2026-10-05 19:41:05 +00:00
kilo deleted branch maintenance/pr-reviewer-binding 2026-10-05 19:41:05 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
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
Creatidy/creatidy-console!22
No description provided.