You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Epic #136 requires every testable production file compiled by QuickFiler/QuickFiler.csproj to reach
at least 80% line coverage measured per production file, or to be placed on the ratified exemption
ledger delivered by child F1. Child F7 owns the QfcHomeController partial family plus its two
interface declarations:
This type already carries the densest existing test suite in QuickFiler.Test. The work is therefore
expected to be gap-closing against an existing suite rather than a from-scratch coverage effort, and
duplicating an existing test is a defect.
Proposed Behavior
No behavior change to observable QuickFiler flows. The deliverable is per-file coverage evidence plus
the minimum set of new deterministic MSTest tests (and, only where no seam exists, the minimum
testability seam) required to bring each testable file in the list to >= 80% line coverage as
measured by child F1's per-file coverage harness.
Acceptance Criteria (early draft)
Each file classified testable by the F1 ledger reaches >= 80% line coverage under F1's harness.
Numeric per-file coverage evidence is committed under <FEATURE>/evidence/qa-gates/.
No production file in scope exceeds 500 lines (QfcHomeController.cs is at 487).
Tests use MSTest, Moq, and FluentAssertions; deterministic, isolated, no temporary files.
Full C# toolchain passes in final form.
No behavior change to observable QuickFiler flows.
Constraints & Risks
In-flight issue Bug: quickfiler-high-confidence-queue-init-stall #424 (docs/features/active/2026-08-06-quickfiler-high-confidence-queue-init-stall-424)
targets a QfcHomeController queue-initialization stall; new tests must not contradict its
regression tests.
Iteration and metrics paths carry ordering and state-transition invariants; RunAsync is the async
hot path. Thread.Sleep, Task.Delay, and real wall-clock waits are prohibited in tests.
The home controller consumes IQfcDatamodel (sibling F5), IQfcQueue (sibling F2), and the
collection controller (sibling F11). Those files belong to siblings and must not be edited here.
Upstream dependency on F1 (quickfiler-coverage-ledger), which supplies the exemption ledger and
the per-file coverage harness.
Test Conditions to Consider
RunAsync cancellation, zero-batch, and re-entrancy scenarios.
Iteration ordering and state transitions (Iterate, Iterate2, IterateQueueAsync, SwapStopWatch).
Metrics accumulation, formatting, and write paths with an injected clock.
Invalid-input, boundary, and error-handling behavior for each covered member.
quickfiler-qfc-home-controller-coverage
Problem / Why
Epic #136 requires every testable production file compiled by
QuickFiler/QuickFiler.csprojto reachat least 80% line coverage measured per production file, or to be placed on the ratified exemption
ledger delivered by child F1. Child F7 owns the
QfcHomeControllerpartial family plus its twointerface declarations:
QuickFiler/Controllers/QfcHomeController.cs(487 lines)QuickFiler/Controllers/QfcHomeController.Metrics.cs(234 lines)QuickFiler/Controllers/QfcHomeController.Iteration.cs(86 lines)QuickFiler/Controllers/IQfcHomeController.cs(20 lines)QuickFiler/Interfaces/IFilerHomeController.cs(45 lines)This type already carries the densest existing test suite in
QuickFiler.Test. The work is thereforeexpected to be gap-closing against an existing suite rather than a from-scratch coverage effort, and
duplicating an existing test is a defect.
Proposed Behavior
No behavior change to observable QuickFiler flows. The deliverable is per-file coverage evidence plus
the minimum set of new deterministic MSTest tests (and, only where no seam exists, the minimum
testability seam) required to bring each
testablefile in the list to >= 80% line coverage asmeasured by child F1's per-file coverage harness.
Acceptance Criteria (early draft)
testableby the F1 ledger reaches >= 80% line coverage under F1's harness.<FEATURE>/evidence/qa-gates/.QfcHomeController.csis at 487).Constraints & Risks
docs/features/active/2026-08-06-quickfiler-high-confidence-queue-init-stall-424)targets a
QfcHomeControllerqueue-initialization stall; new tests must not contradict itsregression tests.
RunAsyncis the asynchot path.
Thread.Sleep,Task.Delay, and real wall-clock waits are prohibited in tests.IQfcDatamodel(sibling F5),IQfcQueue(sibling F2), and thecollection controller (sibling F11). Those files belong to siblings and must not be edited here.
quickfiler-coverage-ledger), which supplies the exemption ledger andthe per-file coverage harness.
Test Conditions to Consider
RunAsynccancellation, zero-batch, and re-entrancy scenarios.Iterate,Iterate2,IterateQueueAsync,SwapStopWatch).Next Step
docs/features/active/2026-08-07-quickfiler-qfc-home-controller-coverage-433/