Problem statement
RunSift needs an explicit release gate so that completing individual implementation issues cannot be mistaken for a production-quality MVP. Version 0.1.0 must demonstrate a safe, reproducible offline and local-file workflow.
Release scope
The MVP includes:
installable CLI;
fixture and local-file analysis;
versioned input and JSON output contracts;
pre-persistence secret redaction;
bounded, path-safe, non-executable untrusted-input handling;
evidence extraction;
deterministic rules and safe abstention;
terminal, Markdown, and JSON reports;
deterministic exit codes;
documented limitations and non-goals.
Read-only GitHub collection is not required to release the offline MVP.
Checklist
Install from a clean checkout and built wheel
Run fixture demo without network or credentials
Run local-file analysis against a complete input bundle
Validate terminal, Markdown, and JSON golden outputs
Run [Security] Implement pre-persistence secret redaction and redaction reporting #33 secret-redaction and fail-closed suites
Run [Security] Enforce untrusted-input path, resource, and rendering boundaries #37 traversal, symlink, resource-limit, no-execution, and rendering-injection suites
Verify unsupported and malformed inputs fail safely
Verify documented exit codes and stdout/stderr separation
Verify schema and tool version fields and input hashes
Run the installed-artifact end-to-end suite from [Testing] Add end-to-end CLI acceptance, contract, and failure-path suites #14
Confirm all critical MVP child issues and epics are closed
Publish release notes, tag, wheel, and sdist
Record known limitations and cleanup/rollback instructions
Acceptance criteria
Dependencies
Blocked by:
foundation: [CLI] Implement command surface, configuration, structured errors, and local quickstart #6 , [CI/CD] Add progressive quality gates for package, static checks, tests, fixtures, and reports #15 , [Foundation] Create installable package, source layout, and reproducible toolchain #32 ;
fixtures/security/schemas: [Fixtures] Build sanitized, provenance-tracked offline regression corpus #9 , [Security] Implement pre-persistence secret redaction and redaction reporting #33 , [Core] Implement versioned input, evidence, and output schemas #34 , [Security] Enforce untrusted-input path, resource, and rendering boundaries #37 ;
parsing: [Log Parsing] Extract bounded, reproducible failure windows and command context #11 , [Log Parsing] Parse annotations and filter noise without losing causal evidence #12 ;
decision engine: [Classification] Implement deterministic dependency, test, lint, and build rule families #22 , [Classification] Implement environment, network, workflow-configuration, and unknown rule families #23 , [Decision Policy] Implement rule priority, score semantics, conflict handling, and abstention #24 ;
reports/testing: [Reporting] Generate safe terminal, Markdown, and stable JSON triage reports #13 , [Testing] Add end-to-end CLI acceptance, contract, and failure-path suites #14 ;
epic-level Definition of Done: [Epic] CLI and Project Foundation #2 , [Epic] Log Parsing and Failure Extraction #4 , [Epic] Deterministic Failure Decision Engine #17 , [Epic] Evidence-Based Triage Report #18 , [Epic] Testing and Fixtures #20 .
After release, #36 decides the next project direction.
Problem statement
RunSift needs an explicit release gate so that completing individual implementation issues cannot be mistaken for a production-quality MVP. Version
0.1.0must demonstrate a safe, reproducible offline and local-file workflow.Release scope
The MVP includes:
Read-only GitHub collection is not required to release the offline MVP.
Checklist
Acceptance criteria
unknownand abstention are handled as successful analysis outcomesDependencies
Blocked by:
After release, #36 decides the next project direction.