Skip to main content

Feature Request: UKW scope expansion to fbuboard with concurrency and temporal-drift controls

Type: Feature Request (FR)
ID: FR-076
Submitted: 2026-04-09
Submitted By: RMS (AI Dev Kit)
Priority: HIGH
Status: COMPLETE (v0.6.7.110+1RW E6:S07:T110 --art)

Implementing Task: E6:S07:T110

Related: FR-050; E6:S07:T108; E6:S07:T101


Summary

Upgrade UKW so fbuboard.md ("fbuboard") is first-class in scope, and enforce the same active-row integrity protections recently applied manually: stale completed-row pruning, timestamp normalization, concurrency-safe update order, and temporal-drift detection/resolution.


Problem

UKW currently treats fbuboard synchronization as partial/inconsistent compared to kanban board handling. In practice, active MoSCOW sections can drift from source FR/BR/UXR statuses, especially after overlapping RW/UKW activity. This causes:

  • stale completed/implemented/fixed items to remain in active sections,
  • row timestamps to diverge from board metadata,
  • nondeterministic outcomes when concurrent updates touch the same board files.

Proposed solution

Extend UKW documentation, execution logic, and validation behavior so fbuboard receives the same integrity workflow already expected for kanban board sync:

  1. Include fbuboard in UKW default scope (not best-effort only).
  2. Add a deterministic stale-row audit/removal pass for active MoSCOW sections.
  3. Add concurrency-safe ordering and conflict-aware reconciliation semantics.
  4. Add temporal-drift checks for board-level metadata vs row-level timestamps.
  5. Emit explicit resolution logs (what was removed/normalized and why).

Requirements

  • FR-076:R01 (Scope): UKW comprehensive runs must include fbuboard.md synchronization and cleanup as a required step.
  • FR-076:R02 (Stale Active Rows): Remove active rows whose linked FR/BR/UXR doc status is terminal (COMPLETE, COMPLETED, IMPLEMENTED, FIXED, RESOLVED), with documented exceptions where status text explicitly indicates unresolved product verification.
  • FR-076:R03 (Concurrency Guard): UKW must use deterministic read/check/write sequencing and conflict-aware revalidation before final write when board files changed during the run.
  • FR-076:R04 (Temporal Drift Check): Validate and normalize Last Updated/row timestamp consistency to avoid stale metadata after sync.
  • FR-076:R05 (Forensic Traceability): UKW output must report audited rows, removals, exceptions kept active, and normalized timestamps.
  • FR-076:R06 (Policy/Docs): Update UKW execution docs and workflow guidance to define fbuboard parity expectations and reconciliation rules.

Acceptance criteria

  • UKW comprehensive run updates fbuboard in the same pass as kanban board and reports both outcomes.
  • At least one regression case proves stale completed fbuboard rows are removed automatically.
  • Concurrency revalidation prevents stale writes when file content changes mid-run.
  • Temporal-drift check updates metadata deterministically and reports applied normalization.
  • UKW docs/rules clearly state fbuboard parity and integrity checks as required behavior.

Implementation evidence

  • Script behavior implemented in update_kanban_docs.py:
    • deterministic terminal-status pruning in active fbuboard sections,
    • exception guard for unresolved verification contexts,
    • header + row timestamp normalization,
    • pre-write revalidation/re-apply flow when file drift is detected.
  • Regression test added and passing:
    • test_4_3_fbuboard_reconciliation_prunes_and_keeps_exception in test_update_kanban_docs.py.
  • Documentation/rules updated:
    • ukw-sync/SKILL.md,
    • update-kanban-workflow-agent-execution.md,
    • .cursorrules.

Out of scope

  • Re-prioritizing all fbuboard items each run when no status drift exists.
  • Rewriting historical fr-br-uxr-completed.md entries beyond consistency fixes required by the new checks.

References