* fix(harness): register OpenClaw skills over its 32 KB whole-read limit as entries pointing at SKILL.full.md (GST-110)
#3555's hybrid layout registered review, investigate, ship and plan-eng-review
as OpenClaw skills; OpenClaw serves a registered SKILL.md whole or refuses it,
at 32,768 bytes when the model's context window is unknown.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs(harness): OpenClaw entry skills and the whole-read limit; CHANGELOG (GST-110)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix: pre-landing review fixes (GST-110)
Entries point at a full SKILL.md in a plain copy of every skill (the router's
gstack/skills/ in hybrid, .gstack-skills/ under --skills all), so autoplan's
../gstack-plan-eng-review/SKILL.md and other sibling paths reach full texts;
test the #3555 upgrade path.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs: remove .gstack-skills in the manual OpenClaw uninstall (GST-110)
Step 14.5 audit gst110-docs-1: the gstack* glob never matched the dot folder that --skills all registrations now write.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(harness): OpenClaw entry threshold 32,000 bytes so served skills also fit a 100K-200K-token tool-result budget (GST-110)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* v1.91.334.0 stamp
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
---------
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* test(harness): pin the GSTACK_SESSION_KIND=spawned marker and its readers (GSTA-135)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* feat(harness): trigger-first skill descriptions, hybrid OpenClaw layout, opt-in --context block (GSTA-135)
Router lines and Hermes leads open with the skill's triggers; OpenClaw
defaults to hybrid (five task skills plus the router); --context writes the
routing block only into a named file, refusing SOUL.md and any new Hermes
rules file that would outrank one Hermes loads now.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs(harness): skill-use layout, --context and HARNESS_CONTEXT_REFUSED (GSTA-135)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
---------
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(harness): print error lines again; register qm stops before QM's pack cap instead of claiming QM works
Bun gives every thrown Error an own numeric 'line' property, which shadowed
HarnessError.prototype.line(), so every refused gstack-harness command crashed
with 'e.line is not a function'. The printer is now report().
QM imports a skill pack by cloning the whole repository and refuses past
32 MiB / 5,000 files (Harness Evals preflight, HARN-5); gstack's repository is
73 MiB in 4,280 files. register qm now measures first and stops with
HARNESS_QM_PACK_TOO_LARGE before any request; QM's own cap refusal maps to the
same code. docs/hosts.md lists QM as not available yet.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* s
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(harness): read QM's recorded import error for the cap; refuse to size a non-git checkout; skip symlinks like QM
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* chore: drop a stray a/SKILL.md committed by a scratch experiment
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs: no doc implies QM registration works (document-release audit)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs(install): stable's 72-hour rule also excepts a regression fix (#3533)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
---------
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* wip: gstack-harness registrar (GSTA-135)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* wip: harness registration in setup, uninstall, tests
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* wip: harness hosts experimental, troubleshooting codes, kit
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs: agent harness registration (GSTA-135)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix: harness hosts run in place from the checkout in --status
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* test: bun-free ledger reader
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs: CHANGELOG for harness registration (Unreleased)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(harness): keep edits beside themselves, never follow symlinks, cut only gstack's own context block
Review blockers on #3526: uninstall deleted the edit backups under the state root;
unregister followed a symlinked folder below the destination; a lone or edited
context marker made the cut eat user lines; a re-register adding --context left an
unrecorded block. Also: ledger written before the files, --refresh-registered no
longer re-runs harness hosts through setup (gstack-harness refresh keeps their mode),
bash goes through runBashSync, and setup tests follow openclaw/hermes becoming installs.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(harness): a ledger with no destination row touches nothing (no hang)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs: harness registration in README, install and hosts (document-release audit)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
---------
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs(readme): cut the README to the first ten minutes; move everything else to docs/ pages verbatim (GSTA-99)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix: pre-landing review fixes
Restore the /setup-gbrain code block the README split left open: README.md kept
the ```bash opener and docs/gbrain-quick-tour.md got only the closing fence, so
both pages rendered their body as one code block. Drop the self-referential
'Full reference' link in docs/domain-skills.md and make the troubleshooting
quick-answer link an in-page anchor.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs: describe the proactive core-set default in why-gstack
The moved 'Proactive skill suggestions' paragraph now documents the four-skill
core set, gstack-config set proactive core|all|off and the docs/proactive.md
page that #3432 (gsta-99-proactive-core) adds; the CHANGELOG names it as the one
non-verbatim paragraph of the move.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix: pre-landing review fixes (round 2)
Promote docs/uninstall.md's moved sections from ### to ## so the page outline
matches the other pages the README split created; no inbound link targets
those anchors.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs: documentation audit fixes
The README Docs table no longer claims docs/standalone-binaries.md covers
every gstack-* CLI (it documents the standalone ones), and
docs/ADDING_A_HOST.md step 6 points at the README host-matrix row and
docs/hosts.md, where the per-host notes now live.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs: disclose the update check fully and list every setup hook
The README privacy summary now names both GitHub requests the update check
makes and the version/OS report it adds with telemetry on, as the full text
it replaced did. docs/install.md's hooks section lists the team-mode
SessionStart hook and the AskUserQuestion PreToolUse/PostToolUse hooks beside
the timeline Stop hook.
* docs: name the update check's conditional compare-API request
bin/gstack-update-check also GETs api.github.com's compare endpoint when the
remote VERSION equals the local one but main has moved; the README privacy
summary and docs/privacy.md now list it beside the ls-remote and VERSION
fetch (documentation audit).
* fix: pre-landing review fixes (merge resolution)
docs/install.md:21 carried main's stable-channel sentence twice after the
merge, the second copy with its backticked spans stripped; the paragraph
again matches README.md:41 verbatim with the relative link.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs: say outside reviews are on by default in the README privacy summary
The one-paragraph summary dropped the default-on disclosure the full text
kept; mirror docs/privacy.md's parenthetical so the top-level page says which
path sends code off-machine without an opt-in.
* v1.91.246.0 stamp
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
---------
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>