Skip to content

feat(ccc): realtime hints, shell completions, omp feature scan - #43

Merged
8syncdev merged 3 commits into
mainfrom
feat/ccc-hints
Oct 16, 2026
Merged

8syncdev merged 3 commits into
mainfrom
feat/ccc-hints

Conversation

@8syncdev

Copy link
Copy Markdown
Contributor

Summary

  • 8sync ccc hint: realtime ghost text, typeahead rows and an above-prompt band inside Claude Code (mod 8sync-hints, installed by 8sync ccc kit).
  • 8sync completions <shell>: shell tab-completion.
  • research/omp-features.md: omp feature scan (ideas only, MIT).
  • Windows: git status budget 300 ms so the branch shows.

Test plan

  • cargo test -p su-code hint_ (14), completions_, kit_
  • claude plugin validate + claude plugin test (8) for the mod
  • scripts/uat/hints-load.sh (mod loads in claude -p)
  • CI 38838076659 green on ubuntu, windows, macos
  • Gates: /sec OK, /rules ALLOWED, /aup-audit clean
  • Not verified: ghost text in a live interactive session (needs restart)

🤖 Generated with Claude Code

8syncdev and others added 3 commits October 16, 2026 08:55
… mod 8sync-hints), shell completions

`8sync ccc hint [--complete <token>] [--json]` (crates/cli/src/verbs/ccc/hint.rs) computes, from local
files only, a ghost-text suggestion for the next prompt (open /ship-loop, own urgent flag, bigram over
~/.claude/history.jsonl filtered by project, then git state), a <= 2-line band (loop · branch ↑ahead ✎dirty ·
urgent · watchdog alert) and typeahead rows for `/skill`, `8sync <cmd>` and `ccc <verb>` tokens. One
`git status --porcelain=v2` with a 50 ms budget; no network, no gh, no model.

Mod `8sync-hints` (assets/claude/skills/8sync-hints, Claude Code function hooks) draws it: session.start +
main-loop turn.complete + every 20 s while idle → `$.prompt.suggest`; prompt.autocomplete → `--complete`
(skill-name tokens only, not at the box start where the engine's own menu lists skills); AbovePrompt band
with an "Ẩn" button. `8sync` is never awaited on the prompt/turn path and is silent on any failure; the
session id reaches it as CLAUDE_CODE_SESSION_ID so the own-urgency hint works.

The bigram never repeats a prompt that carries a secret-looking token (secret_mask) or a collapsed paste
placeholder, reads only the last 512 KiB of history (lossy UTF-8, partial first line skipped), and
untracked files count as dirty. Installed by `8sync ccc kit` (KIT_FILES 29 → 34) into
~/.claude/skills/8sync-hints, which the engine auto-loads.

`8sync completions <bash|zsh|fish|powershell|elvish>` (clap_complete over `crate::command()`).

research/omp-features.md: omp 18.11.1 feature scan (MIT, ideas only) — ported this batch: ghost text/predict,
typeahead with descriptions, context-aware suggestion, shell completion.

Tests: hint_* (14, latency < 50 ms on a real git repo + 41 skills + 512 KiB history), completions_* (3),
kit_installs_the_hints_mod, `claude plugin validate|test` (8), scripts/uat/hints-load.sh (claude -p
--plugin-dir, haiku). Reviewer + QA UAT findings folded in (su-code/ship/ccc-hints/LOOP.md).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
CI run 38837734481: on windows-latest `git status` did not answer within 50 ms, so the hint band had
no branch and two hint tests failed. The git call runs beside the prompt (the mod never awaits it), so a
300 ms budget costs nothing; our own work still stays under 50 ms (latency test now measures both).
The real-repo test reads git with a generous test-only budget so a loaded runner cannot flake it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@8syncdev
8syncdev merged commit a5db4e3 into main Oct 16, 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