Skip to content

feat: progress consolidation arc - #98

Merged
abiswas97 merged 56 commits into
mainfrom
feat/progress-arc
Jul 15, 2026
Merged

feat: progress consolidation arc#98
abiswas97 merged 56 commits into
mainfrom
feat/progress-arc

Conversation

@abiswas97

@abiswas97 abiswas97 commented Jun 12, 2026

Copy link
Copy Markdown
Owner

Summary

Completes the progress consolidation arc across every producer and consumer.

  • Replaces legacy/ad-hoc streams with an immutable progress.Plan, explicit execution lifecycle, execution-derived phases, completed-stream validation, sticky delivery errors, and auditable terminal reasons.
  • Freezes integration, creator, repository, migration, and removal operations before execution. Stable semantic IDs keep totals deterministic across input reordering.
  • Separates domain failures from infrastructure failures and propagates both consistently through CLI/TUI results.
  • Preserves integration state transactionally: failed applies keep the previous selection and unrelated state.
  • Pins the responsive live region across normal, compact, minimal, and emergency terminal heights; summaries and detail portals remain bounded, width-safe, live, and recoverable at 20 columns.
  • Scopes motion to the focused running headline, honors SENTEI_MOTION=off and TERM=dumb, and installs hooks through the shared Git common directory.
  • Adds deterministic, local-only VHS fixtures and tapes for before/after removal, successful removal, and dependent integration failure.

Safety and correctness

  • Migration backups are atomically reserved at unique sibling paths, copied without shell interpolation, owned by the invocation, and removed only after owned failure cleanup.
  • Integration index/teardown paths reject lexical and symlink escapes before inspection and are revalidated immediately before destructive copy/remove calls, including after integration commands.
  • Removal keeps teardown command failures visible while declaring and attempting every artifact removal independently in deterministic order.
  • The VHS fixture rejects symlinked, non-owned, or canonically mismatched roots and retained trees, including symlinks nested beneath outputs/ and frames/, before mutation.
  • Preparing views, progress portals, summaries, and structured detail text fit emergency terminal sizes; open details refresh or close as progress state changes.

Verification

Fresh on head 06c9737:

go test -race ./...                    PASS
go vet ./...                           PASS
golangci-lint run ./...                0 issues
go build ./...                         PASS
git diff --check origin/main...HEAD    PASS

Additional evidence:

  • bash -n, ShellCheck, fixture safety/idempotence tests, and all three vhs validate checks pass.
  • All three GIFs rendered locally at 960x672 and were inspected at active, failure, and final frames; no clipping or row drift was found.
  • Three independent final reviews covered correctness/safety, architecture/blast radius, and UX/accessibility. Every accepted Critical or Important finding was fixed test-first and re-reviewed as resolved.
  • origin/main (4cfb16d) is an ancestor of this branch; no synchronization merge was required.

Generated GIF/PNG binaries remain local by design. Deterministic tape sources, fixture, safety tests, and README are included in the PR.

@abiswas97
abiswas97 force-pushed the feat/progress-arc branch from 598a714 to aca8cb8 Compare June 12, 2026 14:24
abiswas97 added 29 commits July 15, 2026 12:09
@abiswas97
abiswas97 merged commit 2db9c12 into main Jul 15, 2026
6 checks passed
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