Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .github/workflows/dependency-policy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@ on:
push:
branches: [main]
pull_request:
paths:
- Cargo.toml
- Cargo.lock
- deny.toml
- .github/workflows/dependency-policy.yml
schedule:
- cron: "23 8 * * 1"
workflow_dispatch:
Expand Down
2 changes: 2 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
- Replaced recoverable production panic paths with typed or degraded outcomes and documented the retained iterative-topology invariants.
- Split topology, Git adapter, App, and tree-rendering responsibilities into private focused modules without changing the CLI, rendering, performance, or Git safety contracts.
- Documented Graphite 1.8.6 compatibility stewardship, safe fallback behavior, package invariants, release procedures, and the complete user-facing feature set.
- Fixed two environment-sensitive CI assertions by verifying selected trunk foreground/background behavior with and without `NO_COLOR`, and by testing deadline-bounded work directly instead of relying on runner wall-clock timing.
- Made dependency policy run on every pull request so the required `cargo-deny` branch-protection check cannot be skipped by path filtering.

## 2026-07-19

Expand Down
2 changes: 2 additions & 0 deletions memory.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,10 @@
- The open-source alpha identity is `0.1.0-alpha.1`. Cargo publication is disabled; GitHub source and two-architecture macOS prerelease assets are the intended distribution paths.
- The executable exposes a narrow documented runtime facade. White-box integration coverage is crate-internal and benchmarks use a feature-gated benchmark facade rather than public application internals.
- Release policy includes pinned macOS 15 ARM64/Intel CI, a stable-Rust compatibility lane, cargo-deny policy, Dependabot, fail-closed release aggregation, checksums, and artifact attestations.
- Dependency policy runs on every pull request because `cargo-deny` is a required `main` check; path filtering would leave unrelated pull requests permanently unmergeable.
- Core responsibilities are split behind private modules: topology projection/index/emission, Git inventory/mutation, App state/overlays/archive/mutation, and tree details/connectors.
- Recoverable production paths return typed or degraded outcomes. Remaining topology `expect` calls represent documented iterative-emission programmer invariants.
- Render tests cover both ordinary color output and `NO_COLOR`; selected colored rows use the identity accent as their background with a black identity glyph. Deadline tests assert bounded work counts instead of scheduler-sensitive wall-clock thresholds.
- The installed release binary is 3,713,072 bytes. In a synthetic 2,001-branch repository the preceding release measured about 15.4 MB RSS after startup, warmed to about 19.3 MB with Archive evidence, and plateaued at 19.856-19.888 MB after 100 refresh requests and repeated view/order/layout/navigation toggles.
- Release benchmarks measured about 0.108 ms per 500-branch projection, 1.10 ms per 5,000-branch projection, and 0.94 ms per projection of one 5,000-branch deep stack. A 5,000-level/10,000-branch deep comb emits iteratively without call-stack recursion; broad attach-parent lookup is indexed.
- `stackmap 0.0.0` is installed at `/Users/matt/.cargo/bin/stackmap` and resolves on `PATH`.
Expand Down
18 changes: 17 additions & 1 deletion src/integration_tests/tui_rendering.rs
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,23 @@ fn trunk_uses_reserved_bold_hue_and_checked_out_marker() {
assert_eq!(line.chars().next(), Some('◉'));
assert_eq!(char_column(line, "main"), Some(2));
let marker = &terminal.backend().buffer()[(0, y as u16)];
assert_eq!(marker.fg, trunk_color());
let accent = trunk_color();
assert_eq!(
marker.bg,
if accent == Color::Reset {
selected_background()
} else {
accent
}
);
assert_eq!(
marker.fg,
if accent == Color::Reset {
Color::Reset
} else {
Color::Black
}
);
assert!(marker.modifier.contains(Modifier::BOLD));

app.config
Expand Down
2 changes: 0 additions & 2 deletions src/refresh/upstream.rs
Original file line number Diff line number Diff line change
Expand Up @@ -608,10 +608,8 @@ mod tests {
})
.collect(),
};
let started = Instant::now();
coordinator.submit(UpstreamCommand::Request(request));
let batch = wait_for_result(&coordinator);
assert!(started.elapsed() < Duration::from_millis(150));
assert_eq!(batch.results.len(), MAX_TARGETS);
assert!(git.containment_calls.load(Ordering::Acquire) <= 4);
}
Expand Down
Loading