Skip to content

feat(kit): Escalation — tiered escalation ladder for a work item (FT316) - #782

Merged
hideyukiMORI merged 1 commit into
mainfrom
feat/ft316-escalation
May 29, 2026
Merged

feat(kit): Escalation — tiered escalation ladder for a work item (FT316)#782
hideyukiMORI merged 1 commit into
mainfrom
feat/ft316-escalation

Conversation

@hideyukiMORI

Copy link
Copy Markdown
Owner

Summary

Field Trial FT316Nene\Kit\Escalation: an L1→L2→…→Lmax escalation ladder. Distinct from IncidentLog (severity/lifecycle) and SlaTracker (breach detection).

Method Description
open(reference, maxLevel=3): int Open at L1.
escalate(reference): bool +1 if open and below ceiling.
resolve(reference): bool Close.
level / isResolved / atMaxLevel / activeCases / countAtLevel Reads.
  • Guarded ladder: UPDATE … SET level = level + 1 WHERE status='open' AND level < max_level — never overshoots, no-op on resolved/unknown.

F-N findings

  • F-1 — none (clean trial).

Closes the FT307–FT316 batch-5 wave — 50 trials in the Nene\Kit run.

Test plan

  • 11 tests / 34 assertions (L1 start, ladder+cap, resolve stops, no double-resolve, single-level at-max, activeCases ordering/exclusion, countAtLevel, safe unknown reads, duplicate-open throw, validation)
  • composer precommit green (format → Phan → 5203 tests)

🤖 Generated with Claude Code

Tier-progression state machine: open() at L1, escalate() +1 via a guarded
UPDATE ... WHERE status='open' AND level < max_level (never exceeds ceiling,
no-op on resolved/unknown), resolve() guards on open (no double-resolve);
level/isResolved/atMaxLevel reads, activeCases() most-escalated first,
countAtLevel(). Unknown-reference reads safe; duplicate open rejected.
11 tests / 34 assertions; CS Fixer + Phan clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@hideyukiMORI
hideyukiMORI enabled auto-merge (squash) May 29, 2026 13:54
@hideyukiMORI
hideyukiMORI merged commit f7e1299 into main May 29, 2026
2 checks passed
hideyukiMORI added a commit that referenced this pull request May 29, 2026
Advances the FT1–FT306 → FT1–FT316 markers in current.md and roadmap.md and
prepends candidates.md archive entries for: LeaveRequest, ExpenseClaim, Kudos,
Tournament, Dispute, PledgeDrive, ShiftRoster, SpaceOccupancy, SeatMap,
Escalation (PRs #773#782). Completes the 50-trial Nene\Kit field-trial run.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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