Skip to main content
EVOKORE// SKILLS / next-session
Brutal Honesty Kitmarkdownsha 5A16BAE382D5

next-session

documentation

Next Session

Public-docs note: this is a runtime state template for repositories adopting the Brutal Honesty Kit. It is not the documentation landing page. Start with docs/README.md for public documentation.

<!-- This file is the Tier C (cross-PR / cross-session) state surface for the Brutal Honesty Rulebook v3.7.1. It is read by: - scripts/check_block_flag.py (the merge gate for new feature work) - the Tier B reviewer of the next PR you open - whoever picks the work back up after a session boundary Schema is fixed. Do not rename headings. Do not collapse the tables. Empty state is honest state — empty rows do not get deleted, they get filled with the "_none yet_" placeholder which the validator recognizes. Cycle definition (per rulebook §6.1): 1 cycle = the next operator-initiated session OR 5 calendar days, whichever comes FIRST. Items with TTL=1 cycle must be cleared before the next cycle starts or the block flag flips to BLOCKED automatically. -->

Block flag

Current: CLEAR — no Carried Debt items have expired.

When the flag is BLOCKED, no new feature work may merge until Carried Debt is empty. The flag is set automatically by scripts/check_block_flag.py:

  • CLEAR if no Carried Debt rows OR all open rows are still in their first cycle (TTL not yet expired).
  • BLOCKED if any open Carried Debt row has survived a full cycle without being closed.

The script does not know cycle age — that is set by the operator at session- wrap by inspecting the TTL column. The **Current**: line above is the authoritative source; everything else is advisory.

Carried Debt

IDItemSourceTTLBlockingStatus
none yet—————

Schema:

  • ID: stable identifier, prefix CD- + sequential number (CD-001, CD-002, ...).
  • Item: one short sentence stating the gap. Reference file:line where useful.
  • Source: PR number or session ID that opened the debt.
  • TTL: 1 cycle, expired, or — (placeholder row only).
  • Blocking: YES (forbids new feature work in next cycle if not cleared) or NO — <reason> (cosmetic / honestly-disclosed gap that does not block).
  • Status: OPEN — <note>, **CLOSED** by PR #N, or _—_ (placeholder). Rows starting with CLOSED (case-insensitive, stripping ** markdown bold) are filtered out of the active-debt count by check_block_flag.py.

Deferred Scope

Items from this cycle's PRs whose DEFERRED_SCOPE: field captured ≥25% of original scope. These are NOT debt — they are honestly-bounded not-in-scope items. They appear here so the next planner sees them.

IDItemSource PRWhy deferred
none yet———

Aggregate BHS trend

Track BHS_OFFICIAL per merged PR over the last 5 cycles. Falling trend = the remediation loop is succeeding. Flat-at-100 trend = either real progress or the loop is being gamed (Tier B agents not adversarial enough). Spot-check the Tier B reports if the trend looks suspicious.

CyclePRs mergedAvg BHS_OFFICIALAvg LOOP_ITERATIONSOPERATOR_OVERRIDE count
current————

Operator overrides log

Every PR merged at BHS_OFFICIAL < 100 (i.e. with OPERATOR_OVERRIDE: populated) gets a permanent row here. The override creates an automatic top- priority Carried Debt entry; this log is the audit trail.

PRBHS_OFFICIAL at mergeOverride reasonOverride authorOut-of-band ref
none yet————

Last session: none yet — fill in at first session-wrap Last validated by check_block_flag.py: never — run it after first edit