Skip to content

spec(SDD-004): scaffold session-start-config SSOT spec [AGENT-DRAFT tags pending review]#96

Merged
mlorentedev merged 2 commits into
mainfrom
feat/SDD-004-session-start-config-spec
May 22, 2026
Merged

spec(SDD-004): scaffold session-start-config SSOT spec [AGENT-DRAFT tags pending review]#96
mlorentedev merged 2 commits into
mainfrom
feat/SDD-004-session-start-config-spec

Conversation

@mlorentedev
Copy link
Copy Markdown
Owner

@mlorentedev mlorentedev commented May 22, 2026

Summary

  • Scaffolds SDD-004-session-start-config spec folder (proposal + tasks + verification, 167 LOC of markdown). No source/test changes.
  • Locks the contract for the future SDD-004 implementation PR (claude-session-start.{sh,ps1} → thin readers of session-start-config.json SSOT, mirroring doctor.{sh,ps1} + env-contract.json).
  • AUDIT-002 ranks this as the Modernize dotfiles with Stow and testing #1 SSOT-extractable candidate in the repo (937 LOC combined, HIGH change frequency).

State

⚠ Proposal sections are currently tagged [AGENT-DRAFT — review before archive] (per /spec fill skip semantics — user asked agent to generate drafts). The archive lock is active; /spec archive SDD-004 will refuse until tags are converted to plain content. Reviewer: please skim §Why / §What / §Risks and either accept-as-is (remove the [AGENT-DRAFT] line) or edit before this PR merges.

Blockers documented in §Risks

  • 🔴 R1 (BLOCKER, must resolve before code): byte-equivalence. SessionStart fires on every Claude session; first implementation task MUST be capturing golden output (one per OS) and asserting byte-identity post-refactor.
  • 🟡 R2: PowerShell ASCII-only rule (pattern-powershell-ascii-only — hit twice already). JSON file must be ASCII-only; no em-dash / smart-quote in probe messages or comments.
  • 🟡 R3 (open question, resolve before tasks.md freeze): schema shape — flat list of injectors [{id, probe, content_source, on_failure}, ...] (recommended) vs nested by category. AUDIT-002 explicitly warns "keep schemas minimal".

Why a spec-only PR

Test plan

  • markdownlint not configured — N/A
  • Spec folder contains all 3 templates per pattern-spec-driven-development
  • Reviewer: skim §Why / §What / §Risks and either approve or edit [AGENT-DRAFT] content
  • Reviewer: pick a schema shape for R3 (recommended: flat list)
  • Once [AGENT-DRAFT] tags removed → merge → open feat/SDD-004-session-start-config implementation branch

…s+verification)

Spec folder for SDD-004-session-start-config (P1, AUDIT-002 rank #1).
Refactors claude-session-start.{sh,ps1} (937 LOC combined, HIGH change
frequency) into thin readers of a new session-start-config.json SSOT,
mirroring the doctor.{sh,ps1} + env-contract.json reference pattern.

Proposal §Why/§What/§Out-of-scope/§Risks/§Acceptance-criteria/§Completeness
all currently tagged [AGENT-DRAFT] — user-fill expected before implementation
branch opens. Archive lock active until tags are converted to plain content.

Blockers documented in §Risks:
- R1 (BLOCKER) byte-equivalence: golden output capture MUST precede any
  refactor; SessionStart fires on every Claude session, regressions are
  catastrophic.
- R3 (open question) schema shape: flat list of injectors vs nested by
  category. Resolve before tasks.md freezes.

References AUDIT-002 cross-OS-duplication report + pattern-powershell-ascii-only
(R2). Vault backlog entry #7 (P1) already tracks this; will be ticked at
archive time.
@mlorentedev mlorentedev merged commit 18c2db9 into main May 22, 2026
6 checks passed
@mlorentedev mlorentedev deleted the feat/SDD-004-session-start-config-spec branch May 22, 2026 03:01
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