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
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ versions, not published artifacts, so the release below is the first one a reade

### Removed

- `.cursor/hooks.json`, an editor hook that ran `cargo check --message-format=short` after every file
- An editor hook that ran `cargo check --message-format=short` after every file
edit. It was local development tooling committed to the repository, and it duplicated a check that
CI already runs on every push.

Expand Down
2 changes: 1 addition & 1 deletion benches/results/2026-09-10-macos-arm64.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# grainx Criterion results
# date: 2026-09-10T20:33:41Z
# base commit: 1aa311792261cfbfd7ea1cb5d07b8dff4ec512cb
# base commit: 481dba6cb5b1ecbb2a37214c87eaa300bb41db53
# code under test: base commit plus the P02 fixes in the commit that adds this file
# rustc: rustc 1.94.1 (e408947bf 2026-03-25)
# cargo: cargo 1.94.1 (29ea6fb6a 2026-03-24)
Expand Down
12 changes: 6 additions & 6 deletions demos/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@
- `tui_capture_2026-09-11.txt` — readable 110x50 text render of the same bytes (pyte 0.8.2).
- `http_capture_2026-09-11.txt` — real `GET /health`, `GET /metrics`, agent log, and local `export`
output from the built binary on a free loopback port. It also preserves the historical
remote-export failure at commit `5dde108` (see below).
remote-export failure at commit `c269d43` (see below).
- `verification_2026-09-11.md` — build identity (commit, toolchain, binary SHA-256), exact capture
commands, artifact hashes, privacy review, and limitations.
- `verification_2026-09-11-remote-export.md` — CLI-boundary verification of the remote-export fix
on base `3dfa107`: success against a live `grainx agent` and controlled errors for unreachable,
on base `e9ce607`: success against a live `grainx agent` and controlled errors for unreachable,
malformed, and `http://127.0.0.1:0` endpoints, with no panic text in any capture.

Verified build: commit `5dde1082e5f8989793e79bd5130ec728dd0bde83`, binary SHA-256
Verified build: commit `c269d432620492b4c54d52397b6ec140b6c70da9`, binary SHA-256
`9dfd9cccdd5d4f2352d6aca527b0c3f8f75bda35f95aa1134d0bfaee98fdce00`, `rustc 1.94.1`.

Remote export is fixed on `main` at `3dfa107`; the current CLI evidence is in
Remote export is fixed on `main` at `e9ce607`; the current CLI evidence is in
`verification_2026-09-11-remote-export.md`.

### Reproduce the TUI capture
Expand Down Expand Up @@ -61,10 +61,10 @@ mkdir -p /tmp/grainx-export && cd /tmp/grainx-export

### Remote export status

- **Historical:** at `5dde108` (the 2026-09-11 capture commit), `export --remote <url>` panicked
- **Historical:** at `c269d43` (the 2026-09-11 capture commit), `export --remote <url>` panicked
with `Cannot drop a runtime in a context where blocking is not allowed`. The failure log is
preserved in `http_capture_2026-09-11.txt` as a defect record, not a current result.
- **Fixed:** `main` at `3dfa107` runs the blocking request on a dedicated OS thread.
- **Fixed:** `main` at `e9ce607` runs the blocking request on a dedicated OS thread.
`verification_2026-09-11-remote-export.md` shows exit 0 against a live `grainx agent`, exit 4
with controlled errors for unreachable, malformed, and `http://127.0.0.1:0` endpoints, and no
panic text. Automated CLI coverage is in `tests/cli_remote_export.rs`.
Expand Down
2 changes: 1 addition & 1 deletion demos/http_capture_2026-09-11.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# grainx HTTP + export capture — 2026-09-11
# Build identity and privacy review: demos/verification_2026-09-11.md
# commit 5dde1082e5f8989793e79bd5130ec728dd0bde83, binary sha256 9dfd9cccdd5d4f2352d6aca527b0c3f8f75bda35f95aa1134d0bfaee98fdce00
# commit c269d432620492b4c54d52397b6ec140b6c70da9, binary sha256 9dfd9cccdd5d4f2352d6aca527b0c3f8f75bda35f95aa1134d0bfaee98fdce00

$ target/debug/grainx agent --bind 127.0.0.1 --port <free-port>
$ curl -fsS http://127.0.0.1:<free-port>/health
Expand Down
8 changes: 4 additions & 4 deletions demos/tui_capture_2026-09-11-memory.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# Memory-label TUI capture — 2026-09-11

New capture pair showing the `Memory: ...` label in the final rendered frame, after the
fix in `42f4602` moved the label above the memory graph's clear/braille passes. It does not
fix in `c5bfba9` moved the label above the memory graph's clear/braille passes. It does not
replace the older 2026-09-11 captures; those remain as historical material.

> Merge note (2026-09-11): this capture and the layout fix were merged to `main` as `2067359879b9`
> (PR #5). The fix is unchanged between `42f4602` and the merge.
> Merge note (2026-09-11): this capture and the layout fix were merged to `main` as `71a9bdf104d5`
> (PR #5). The fix is unchanged between `c5bfba9` and the merge.

## Build identity

| Field | Value |
| --- | --- |
| Commit | `42f460271a45907d4e571741de4e79642f9f9df8` |
| Commit | `c5bfba973bb209576c4fa8385e75d329a2e268c4` |
| Working tree at build time | clean (`git status --porcelain` = 0 paths) |
| Build command | `cargo build --locked` |
| Binary | `target/debug/grainx` |
Expand Down
6 changes: 3 additions & 3 deletions demos/tui_capture_2026-09-12-contract.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ unchanged.

| Field | Value |
| --- | --- |
| Branch source SHA | `360e5a97a1ded040fc1f849af3cb73fe915579d9` |
| Required Task B commit | `022e448` (ancestor of source SHA) |
| Merged `origin/main` | `a5e41c2cf5b87c0a7394e87f7d3954a3bec01168` (ancestor of source SHA) |
| Branch source SHA | `8bc279da68f04495b02fc5e9fb43ad1ff6e8b3ac` |
| Required Task B commit | `7e4e1f6` (ancestor of source SHA) |
| Merged `origin/main` | `def1e40c9123e7412d62bccab416210b578ee827` (ancestor of source SHA) |
| Source dirty count before build | `0` (`git status --porcelain=v1`) |
| Build command | `cargo build --locked` (exit 0) |
| Binary | `target/debug/grainx` |
Expand Down
12 changes: 6 additions & 6 deletions demos/verification_2026-09-11-remote-export.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
# grainx remote-export CLI verification — 2026-09-11

This record proves the `grainx export --remote <url>` fix at the real CLI boundary on top of
`main` commit `3dfa107` (the commit that moved the blocking `reqwest` client to a dedicated OS
`main` commit `e9ce607` (the commit that moved the blocking `reqwest` client to a dedicated OS
thread). It covers the success path, two controlled-failure paths, and the exact
`http://127.0.0.1:0` case that panicked before the fix. It is evidence for the listed build and
host only, not a compatibility claim.

> Merge note: this change and its CLI tests were merged to `main` as `a86fe3af`
> (PR #4). The separate memory-label TUI fix merged as `2067359879b9` (PR #5). The runtime fix
> under test is unchanged between `3dfa107` and the merge; the additional commits only add tests
> Merge note: this change and its CLI tests were merged to `main` as `4fdd4f14`
> (PR #4). The separate memory-label TUI fix merged as `71a9bdf104d5` (PR #5). The runtime fix
> under test is unchanged between `e9ce607` and the merge; the additional commits only add tests
> and documentation.

## Build identity

| Field | Value |
| --- | --- |
| Source commit | `3dfa107f78b94812c080eae3b577c7cd6035cfdd` (`fix: build blocking remote metrics client outside the async runtime`) |
| Source commit | `e9ce607fb2207346b7dd5b9b98a24bd4fedfbb4c` (`fix: build blocking remote metrics client outside the async runtime`) |
| Branch | `test/remote-export-cli` (branched from `origin/main` at the commit above) |
| Worktree at `cargo build` | clean (`git status --porcelain` = 0 paths) |
| Worktree at CLI capture | dirty count 1: untracked `tests/cli_remote_export.rs`; no changes under `src/` |
Expand All @@ -31,7 +31,7 @@ target, so freezing the binary removes ambiguity about which bytes produced the

## Historical failure (not a current result)

On 2026-09-11, at commit `5dde108`, the same CLI shape exited 101 with:
On 2026-09-11, at commit `c269d43`, the same CLI shape exited 101 with:

~~~text
thread 'main' (157332) panicked at .../tokio-1.53.1/src/runtime/blocking/shutdown.rs:51:21:
Expand Down
2 changes: 1 addition & 1 deletion demos/verification_2026-09-11.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ for the listed build and host only, not a performance or compatibility claim.

| Field | Value |
| --- | --- |
| Commit | `5dde1082e5f8989793e79bd5130ec728dd0bde83` |
| Commit | `c269d432620492b4c54d52397b6ec140b6c70da9` |
| Working tree at build time | clean (`git status --porcelain` = 0 paths) |
| Build command | `cargo build --locked` |
| Binary | `target/debug/grainx` |
Expand Down
2 changes: 1 addition & 1 deletion demos/verification_2026-09-12-braille-termination.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Braille termination verification - 2026-09-12

This record covers the source and binary built from implementation commit
`62690ca94ea1113eee538c5270123a3b25c5c7b9` on branch
`11b7c0eb351736f59a54c5bba3e6f64a7332836c` on branch
`fix/braille-termination`.

## Build identity
Expand Down
18 changes: 18 additions & 0 deletions docs/commit-id-map.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Commit ID map

On 2026-09-27 this repository's history was rewritten to normalise commit author identities and commit-message metadata and to drop build output that had been committed under `target/`. File contents at every commit and tag are otherwise unchanged; only commit IDs changed.
Files that recorded a commit ID on `main` (evaluation reports, run metadata, validation notes, changelog) were updated to the new IDs. This table maps each updated reference to its original ID, so older external references can still be resolved.
IDs that refer to commits on merged pull-request branches are left unchanged: GitHub keeps those commits with their pull request.

| Original ID | New ID |
| :--- | :--- |
| `022e44808ad7826f10441e5363b06e17ba7d2e38` | `7e4e1f6a106946a9d3f30a209a9e4701b20fd6f4` |
| `1aa311792261cfbfd7ea1cb5d07b8dff4ec512cb` | `481dba6cb5b1ecbb2a37214c87eaa300bb41db53` |
| `2067359879b97b8f56dee72b5e2720b8556b2e4a` | `71a9bdf104d5ec0d6743ff915d8fa04082996c53` |
| `360e5a97a1ded040fc1f849af3cb73fe915579d9` | `8bc279da68f04495b02fc5e9fb43ad1ff6e8b3ac` |
| `3dfa107f78b94812c080eae3b577c7cd6035cfdd` | `e9ce607fb2207346b7dd5b9b98a24bd4fedfbb4c` |
| `42f460271a45907d4e571741de4e79642f9f9df8` | `c5bfba973bb209576c4fa8385e75d329a2e268c4` |
| `5dde1082e5f8989793e79bd5130ec728dd0bde83` | `c269d432620492b4c54d52397b6ec140b6c70da9` |
| `62690ca94ea1113eee538c5270123a3b25c5c7b9` | `11b7c0eb351736f59a54c5bba3e6f64a7332836c` |
| `a5e41c2cf5b87c0a7394e87f7d3954a3bec01168` | `def1e40c9123e7412d62bccab416210b578ee827` |
| `a86fe3af7eab450b67de19b3d6cf5880666cd494` | `4fdd4f14ba518cfb7cdbee572e62d673062f8574` |
Loading