Governance follow-up: dated suspension of the delegated GLM-5.3 prohibition for the Z.ai all-day off-peak campaign (D-060) #156

Closed
opened 2026-09-28 12:45:40 +00:00 by kilo · 1 comment
Member

Governance follow-up to #154 / PR #155 (D-059)

PR #155 merged the runtime campaign policy: 2026-09-25 through 2026-10-07 all-day off-peak (GLM-5.3 1x, Flash 0.4x; dated blackout gap; ordinary peak resumes 2026-10-08 automatically). This issue is the development/agent-orchestration governance follow-up. It must not reopen the runtime selector work.

Problem

A standing project rule (owner instruction recorded in agent-session memory, justified by the then-valid 3x peak economics) prohibits delegating any work to plain GLM-5.3 and requires GLM-5.3-Flash variants for delegated Z.ai work — substitution even when a task names GLM-5.3. During the all-day off-peak campaign that economic justification is temporarily false (GLM-5.3 1x all day). The rule is also not durably encoded anywhere repository-controlled: model-policy.json / docs/llm-operating-policy.md still describe GLM-5.3 Max as an authorized delegated alternate, so the effective restriction exists only in agent memory — unreviewable, undated, and dependent on someone remembering to revert the relaxation later.

Desired temporary policy (through campaign end, Asia/Singapore calendar, inclusive)

  • GLM-5.3-Flash stays preferred when adequate (high-volume, repetitive, token-economics-dominated work, eligible ZCode free-usage windows, no demonstrated quality need).
  • Plain GLM-5.3 becomes allowed delegated work when the task materially benefits (reasoning/coding complexity, review quality justifying the 2.5x relative off-peak cost vs Flash), or the owner/task explicitly selects it. It is NOT automatically preferred; no simplistic cost ranking.
  • Explicit owner/task model selections remain authoritative; any substitution for another concrete reason must state that reason (never silent).
  • On 2026-10-08 (same boundary convention as D-059) the standing Flash-only delegated rule returns automatically — deterministic policy evaluation, no manual revert.

Scope (frozen)

  1. Codify the standing delegated-use rule AND the dated suspension in the governance layer: model-policy.json (new additive, non-selector-facing delegated_model_policy section, policy_version bump) + docs/llm-operating-policy.md; decision record D-060 in docs/decisions.md (D-058 is taken by open PR #152).
  2. Smallest reusable dated-override mechanism: inclusive local calendar dates (YYYY-MM-DD, Asia/Singapore) mirroring the D-035/D-059 date-bound convention — semantic parity by shared boundary tests, no second timezone interpretation, no duplication of the runtime pricing calendar (reference D-059 by name).
  3. Deterministic evaluator with injectable clock (tools/model_governance.py, repo-tools convention): active standing rules / active overrides / per-model allowed verdicts with explicit disclosure requirement on any substitution.
  4. Regression tests: pre-override instants (standing Flash-only rule); during-override instants (GLM-5.3 eligible, explicit selection preserved, Flash still eligible and still the preference default); exact expiry boundary (last covered instant 2026-10-07 23:59:59+08, first standing instant 2026-10-08 00:00+08, UTC→SGT conversion); validation errors (unknown rule reference, unordered/bad dates, naive instants). No test depends on today's date.
  5. Agent-instruction discoverability: short pointer in AGENTS.md and the .kilo/rules/40-llm-operating-policy.md bullet list (enforcement of this layer is agentic; discoverability is the enforcement path).

Non-goals

  • No runtime selector/quota changes (examples/selector-policy.json, scarcity_router/policy.py untouched; GLM-5.3-Flash is NOT marked globally free; no harness assumptions in generic selector logic — ZCode-executed development work does not imply runtime requests execute through ZCode).
  • No reopening of D-059, no catalog/capability/contract changes, no general policy engine.
  • Historical records stay historical.

Acceptance

Full gate green (uv sync --only-dev, make check, uv run basedpyright, git diff --check); deterministic October-8 answer encoded; PR open for human review; not merged.

## Governance follow-up to #154 / PR #155 (D-059) PR #155 merged the runtime campaign policy: 2026-09-25 through 2026-10-07 all-day off-peak (GLM-5.3 1x, Flash 0.4x; dated blackout gap; ordinary peak resumes 2026-10-08 automatically). This issue is the **development/agent-orchestration governance follow-up**. It must not reopen the runtime selector work. ## Problem A standing project rule (owner instruction recorded in agent-session memory, justified by the then-valid 3x peak economics) **prohibits delegating any work to plain `GLM-5.3`** and requires `GLM-5.3-Flash` variants for delegated Z.ai work — substitution even when a task names GLM-5.3. During the all-day off-peak campaign that economic justification is temporarily false (GLM-5.3 1x all day). The rule is also not durably encoded anywhere repository-controlled: `model-policy.json` / `docs/llm-operating-policy.md` still describe GLM-5.3 Max as an authorized delegated alternate, so the effective restriction exists only in agent memory — unreviewable, undated, and dependent on someone remembering to revert the relaxation later. ## Desired temporary policy (through campaign end, Asia/Singapore calendar, inclusive) - **GLM-5.3-Flash stays preferred when adequate** (high-volume, repetitive, token-economics-dominated work, eligible ZCode free-usage windows, no demonstrated quality need). - **Plain GLM-5.3 becomes allowed delegated work** when the task materially benefits (reasoning/coding complexity, review quality justifying the 2.5x relative off-peak cost vs Flash), or the owner/task explicitly selects it. It is NOT automatically preferred; no simplistic cost ranking. - **Explicit owner/task model selections remain authoritative**; any substitution for another concrete reason must state that reason (never silent). - On **2026-10-08** (same boundary convention as D-059) the standing Flash-only delegated rule returns **automatically** — deterministic policy evaluation, no manual revert. ## Scope (frozen) 1. Codify the standing delegated-use rule AND the dated suspension in the governance layer: `model-policy.json` (new additive, non-selector-facing `delegated_model_policy` section, `policy_version` bump) + `docs/llm-operating-policy.md`; decision record **D-060** in `docs/decisions.md` (D-058 is taken by open PR #152). 2. Smallest reusable dated-override mechanism: inclusive local calendar dates (`YYYY-MM-DD`, Asia/Singapore) mirroring the D-035/D-059 date-bound convention — semantic parity by shared boundary tests, no second timezone interpretation, no duplication of the runtime pricing calendar (reference D-059 by name). 3. Deterministic evaluator with injectable clock (`tools/model_governance.py`, repo-tools convention): active standing rules / active overrides / per-model allowed verdicts with explicit disclosure requirement on any substitution. 4. Regression tests: pre-override instants (standing Flash-only rule); during-override instants (GLM-5.3 eligible, explicit selection preserved, Flash still eligible and still the preference default); exact expiry boundary (last covered instant 2026-10-07 23:59:59+08, first standing instant 2026-10-08 00:00+08, UTC→SGT conversion); validation errors (unknown rule reference, unordered/bad dates, naive instants). No test depends on today's date. 5. Agent-instruction discoverability: short pointer in `AGENTS.md` and the `.kilo/rules/40-llm-operating-policy.md` bullet list (enforcement of this layer is agentic; discoverability is the enforcement path). ## Non-goals - No runtime selector/quota changes (`examples/selector-policy.json`, `scarcity_router/policy.py` untouched; GLM-5.3-Flash is NOT marked globally free; no harness assumptions in generic selector logic — ZCode-executed development work does not imply runtime requests execute through ZCode). - No reopening of D-059, no catalog/capability/contract changes, no general policy engine. - Historical records stay historical. ## Acceptance Full gate green (`uv sync --only-dev`, `make check`, `uv run basedpyright`, `git diff --check`); deterministic October-8 answer encoded; PR open for human review; not merged.
Author
Member

Closed as obsolete — superseded by current owner policy (disposition pass 2026-09-30, develop @ 17f4918).

Owner policy for the Z.ai all-day off-peak campaign is now: plain GLM-5.3 remains prohibited for delegated work, GLM-5.3-Flash remains permitted, and no temporary governance exception is wanted. This issue's sole deliverable — a dated suspension of the standing delegated-use prohibition (the delegated_model_policy section, the dated-override evaluator in tools/model_governance.py, D-060) — is directly contrary to that policy, so no part of it will be implemented.

Verification that no independent requirement remains:

  • Nothing was ever merged for this issue: model-policy.json on develop has no delegated_model_policy section, no tools/model_governance.py exists, and no PR was ever opened. There is nothing to unwind.
  • D-060 was never recorded; docs/decisions.md (D-061 record) explicitly leaves it unassigned on purpose, reserved for this issue. The reservation note stays as history; D-060 simply remains unassigned.
  • The standing rule (GLM-5.3 prohibited, Flash preferred/required for delegated work) remains in force unchanged — it needed no dated revert mechanism, which removes the problem this issue was created to solve. Any future codification of the standing rule itself would be separate, owner-initiated scope.

Branch state: policy/zai-model-governance-campaign (local + origin) holds one unique unmerged commit 38067d3 ("dated governance overrides for delegated Z.ai model use (D-060, #156)") on top of merged PR #155 (781bace). It is not merged, not resurrected, not deleted in this pass — the owner may delete both branches as routine cleanup since the approach is discarded.

No repository code or documents were changed.

**Closed as obsolete — superseded by current owner policy (disposition pass 2026-09-30, `develop` @ `17f4918`).** Owner policy for the Z.ai all-day off-peak campaign is now: **plain GLM-5.3 remains prohibited** for delegated work, **GLM-5.3-Flash remains permitted**, and **no temporary governance exception is wanted**. This issue's sole deliverable — a dated suspension of the standing delegated-use prohibition (the `delegated_model_policy` section, the dated-override evaluator in `tools/model_governance.py`, D-060) — is directly contrary to that policy, so no part of it will be implemented. Verification that no independent requirement remains: - Nothing was ever merged for this issue: `model-policy.json` on `develop` has no `delegated_model_policy` section, no `tools/model_governance.py` exists, and no PR was ever opened. There is nothing to unwind. - D-060 was never recorded; `docs/decisions.md` (D-061 record) explicitly leaves it unassigned on purpose, reserved for this issue. The reservation note stays as history; D-060 simply remains unassigned. - The standing rule (GLM-5.3 prohibited, Flash preferred/required for delegated work) remains in force unchanged — it needed no dated revert mechanism, which removes the problem this issue was created to solve. Any future codification of the standing rule itself would be separate, owner-initiated scope. Branch state: `policy/zai-model-governance-campaign` (local + origin) holds one unique unmerged commit `38067d3` ("dated governance overrides for delegated Z.ai model use (D-060, #156)") on top of merged PR #155 (`781bace`). It is **not merged, not resurrected, not deleted** in this pass — the owner may delete both branches as routine cleanup since the approach is discarded. No repository code or documents were changed.
kilo closed this issue 2026-09-30 19:32:43 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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/scarcity-router#156
No description provided.