Skip to content

feat(cli): resolve people by name, show profile gaps; byte-exact file splitting - #156

Closed
titanwings wants to merge 2 commits into
pr/06-hermes-and-split-v1from
pr/07-subject-show-and-split
Closed

titanwings wants to merge 2 commits into
pr/06-hermes-and-split-v1from
pr/07-subject-show-and-split

Conversation

@titanwings

@titanwings titanwings commented Sep 11, 2026

Copy link
Copy Markdown
Owner

What

feat(cli): resolve people by name, show profile gaps; byte-exact file splitting

Commits

  • feat(cli): resolve people by name and show a profile with its gaps
  • fix(runtime): split oversized text into byte-exact code-point parts

Stack

Stacked on pr/06-hermes-and-split-v1; the whole series ends at distilly-work (0bd924e).

Verification

Every feature carries an author report and an independent audit in the delivery evidence folder (host-verification/), including screenshots and the audit verdict that drove the fixes. Gates on the top of the stack: format, lint, docs, release check, and 1163 tests.

Real hosts

Codex, Claude Code 2.1.268, OpenClaw 2026.9.2, Hermes v0.19.0, and DSH 0.1.5-rc.1 were each exercised end to end (install, host-visible confirmation, exactly five MCP tools, person Skill install/remove, uninstall). Capacity fixtures are recorded for Codex 0.146.0, OpenClaw 2026.3.24, and Hermes v0.9.0; newer host versions run on the labelled conservative floor.

Evidence

Author reports and screenshots (delivery evidence folder host-verification/):

  • f4-f7-show-subject-resolution-REPORT.md, f4-subject-resolution.png
  • f3-split-fixes-REPORT.md, f3-split-fixes.png

Independent audit reports:

  • round11-subject-resolution-VERIFY.md, round10-VERIFY.md, round11-split-VERIFY.md

distilly agent added 2 commits September 11, 2026 05:43
Harvesting a second folder for the same person used to fail with the engine's
already_exists error and store nothing. The CLI now reads the typed subject
resolution the engine returns: a single match is reused, several matches are
listed so the operator picks one, and a name with no subject reports the exact
harvest command that would create it.

show accepts a display name as well as a subject id, and a harvested person with
no committed profile reports the queued distillation instead of an engine
not-found error. The new subjects command lists what this store knows.
The first split implementation emitted a trailing empty part for a file whose
size is an exact multiple of the material limit, cut inside surrogate pairs,
rescanned every prefix of a long line, and let parts lose a newline at each
seam. A batch could also expand past the wire record limit and fail as a
corrupt loader, losing every file in it.

Parts are now consecutive slices of the source, cut at code-point boundaries
after a newline when possible, so joining them reproduces the text exactly and
no part is empty. The loader reports an expanding selection as a typed
invalid_input, and harvest retries that batch one file at a time.
@titanwings

Copy link
Copy Markdown
Owner Author

Superseded: this stacked series is consolidated into the dot-skill-test line (same tree, kept on distilly-work). Closing without merging to avoid conflicts with the v2 rewrite.

@titanwings titanwings closed this Sep 12, 2026
@titanwings
titanwings deleted the pr/07-subject-show-and-split branch September 12, 2026 18:04
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