Skip to content

docs: restore 61 promoted potential records stranded on an unmerged branch - #582

Merged
drmoisan merged 1 commit into
mainfrom
docs/restore-quickfiler-potential-records
Aug 21, 2026
Merged

docs: restore 61 promoted potential records stranded on an unmerged branch#582
drmoisan merged 1 commit into
mainfrom
docs/restore-quickfiler-potential-records

Conversation

@drmoisan

Copy link
Copy Markdown
Owner

docs: restore 61 promoted potential records stranded on an unmerged branch

Summary

  • Restores 61 promoted potential-bug records that exist only on origin/epic/quickfiler-per-file-coverage-integration, a branch that is not an ancestor of main. Deleting that branch would have destroyed them.
  • These records are the only complete requirements source for the 48-item QuickFiler bug corpus. The corresponding GitHub issue bodies are stubs, with several sections reading (not provided in potential file).
  • Strictly additive: 61 files added, 0 modified, 0 deleted, all under docs/features/potential/promoted/. The 41 records already on main are untouched.
  • Unblocks epic preparation for the QuickFiler corpus. Without these records, per-feature specs would be written against terse issue prose rather than grounded requirements.

Why

An epic-planning pass over the QuickFiler bug corpus found that its requirements documents were missing from main. Verification confirmed the gap and showed it is larger than first reported:

potential docs on epic branch : 102
potential docs on main : 61
present on branch, absent on main : 61
branch merged into main? : NOT merged

The records are substantially richer than the issues they back. For issue #475:

SourceSizeContent
Potential record5,749 bytesSummary, Environment, Suspected Cause, Production Call Sites (verified 2026-08-07), Steps to Reproduce, Expected Behavior, Actual Behavior, Impact / Severity, Suggested Remediation
GitHub issue body2,452 bytesSummary, with later sections reading (not provided in potential file)

Two distinct risks are closed. First, data loss: 61 documents of analysis sat on an unmerged branch, and routine branch cleanup would have taken them. Second, planning quality: any specification derived from the issue bodies alone would lack the verified call sites and remediation guidance that make these defects actionable.

What Changed

PathChange
docs/features/potential/promoted/*.md61 files added (5,592 lines)

Nothing else. No code, configuration, test, workflow, or pushed-down .claude path is touched.

Verification

Completed

CheckResult
Restore scopegit status reports exactly 61 entries, all A (added)
Path confinement0 paths outside docs/features/potential/promoted/
Overwrite safetyThe 41 records present on both main and the source branch were excluded from the restore set, so no existing record is modified
Push-down safety0 restored paths under .claude/ or config/ — none is a push-down destination, so the next sync cannot revert this
Diff shape61 files changed, 5592 insertions(+), 0 deletions
Source provenanceEvery file restored from origin/epic/quickfiler-per-file-coverage-integration by exact path, computed as the comm -23 set difference against main

Not applicable

The C# toolchain (CSharpier, analyzers, nullable, MSTest) is not exercised: the diff is Markdown only, with no *.cs, *.csproj, *.props, *.targets, *.config, or workflow file. CI runs regardless and gates the merge.

Backward Compatibility / Migration Notes

None. Adding Markdown records changes no public surface, build input, or runtime behavior. The source branch is left intact; this PR copies from it rather than merging it, so no unrelated change on that branch is pulled in.

Risks and Mitigations

RiskAssessmentMitigation
A restored record contains stale line referencesConfirmed for at least six records286.md is off by +17 lines, 462.md by +46; 474.md asserts an interface premise that is already false because IQfcFormController.cs:13 inherits IFilerFormController; 482.md misattributes registries; 498.md places two files in the wrong project; 440.md claims a shared row type that does not existRecorded as known-stale in the epic manifest. Each preparation child re-derives its own line numbers rather than trusting the record. Restoring a record with a drifted reference is still strictly better than having no record
Restoring a promoted record for an already-closed issuePossible; the set was computed by path difference, not by issue stateHarmless — these are historical provenance artifacts, and their value is the analysis, not the issue's open/closed state
Divergence from the source branch laterThe branch remains unmerged and may continue to moveThis PR is a point-in-time restore of records that were otherwise unreachable from main; it does not attempt to track the branch

Rollback is git revert of the single commit, with no build or data implications.

Review Guide

61 files, one commit, additive only. Reviewing every record is not a good use of time. Suggested approach:

  1. Confirm the shape: git diff --shortstat main..HEAD should report 61 files changed, 5592 insertions(+) with zero deletions. A deletion would mean the restore set was computed wrongly.
  2. Confirm confinement: every path begins docs/features/potential/promoted/.
  3. Spot-read one record — 2026-08-07-breadcrumb-capturecurrentortests-silently-degrades-in-production.md (backing Bug: breadcrumb-capturecurrentortests-silently-degrades-in-production #475) — against the issue body, to confirm the records really are the richer source.

Follow-ups

  • The six drifted line references above are recorded in the epic manifest rather than fixed here; correcting them belongs with the child that touches each file, which will re-derive the line numbers anyway.
  • Worth deciding the fate of origin/epic/quickfiler-per-file-coverage-integration. With these records on main it no longer holds unique requirements content, but it should be inspected for anything else unique before deletion.
  • The wider gap is process rather than content: promoted records were written on a feature branch and never reached main. A check that a promoted record accompanies its issue onto the default branch would prevent a recurrence.

GitHub Auto-close

  • None

This restores documentation for issues that remain open; it fixes none of them, so no closing keyword applies.

…ranch
These records are the only complete requirements source for the QuickFiler bug
corpus, and they existed nowhere on `main`. All 61 live only on
`origin/epic/quickfiler-per-file-coverage-integration`, which is not an ancestor
of `main`, so deleting that branch would have destroyed them.
The corresponding GitHub issue bodies are stubs by comparison. For issue #475
the record is 5749 bytes with populated Summary, Environment, Suspected Cause,
verified Production Call Sites, Steps to Reproduce, Expected/Actual Behavior,
Impact, and Suggested Remediation sections; the issue body is 2452 bytes and
several of its sections read "(not provided in potential file)". Planning against
the issue bodies alone would produce specifications with no grounded requirements.
Scope is strictly additive: 61 files added, 0 modified, 0 deleted. The 41 records
already present on `main` were left untouched, and every restored path is under
`docs/features/potential/promoted/`. No code, configuration, test, workflow, or
pushed-down `.claude` path is affected.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016LdWAA7aMkzJ27NUW7WzaT
@drmoisan
drmoisan merged commit 790bd39 into mainAug 21, 2026
5 checks passed
drmoisan added a commit that referenced this pull request Aug 21, 2026
main advanced past this branch's fork point when PR #582 merged, restoring 61
promoted potential records that existed only on the unmerged branch
epic/quickfiler-per-file-coverage-integration.
This branch was cut from b9a9b92, before that restore. Left un-merged, any
fan-in from this branch family to main would have deleted 58 of those 61
records - 58 rather than 61 because three were already restored here for the
Epic 1 children.
Merging main in also brings the requirements documents for the planned epics
2 through 4 into the tree the children work from.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016LdWAA7aMkzJ27NUW7WzaT
drmoisan added a commit that referenced this pull request Aug 21, 2026
…mspumphost-suite-determinism-511
Brings PR #582's restore of 61 promoted potential records, plus the epic
manifest's back-filled feature_folder values, onto this preservation branch.
Without it, fan-in from this branch would have deleted 58 of those records.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016LdWAA7aMkzJ27NUW7WzaT
drmoisan added a commit that referenced this pull request Aug 21, 2026
…iler-keyboard-action-contract-defects-445
Brings PR #582's restore of 61 promoted potential records, plus the epic
manifest's back-filled feature_folder values, onto this preservation branch.
Without it, fan-in from this branch would have deleted 58 of those records.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016LdWAA7aMkzJ27NUW7WzaT
drmoisan added a commit that referenced this pull request Aug 21, 2026
…iler-test-form1-live-form-491
Brings PR #582's restore of 61 promoted potential records, plus the epic
manifest's back-filled feature_folder values, onto this preservation branch.
Without it, fan-in from this branch would have deleted 58 of those records.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016LdWAA7aMkzJ27NUW7WzaT
drmoisan added a commit that referenced this pull request Aug 21, 2026
…iler-explorer-controller-latent-defects-449
Brings PR #582's restore of 61 promoted potential records, plus the epic
manifest's back-filled feature_folder values, onto this preservation branch.
Without it, fan-in from this branch would have deleted 58 of those records.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016LdWAA7aMkzJ27NUW7WzaT
Sign up for freeto 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

@drmoisan