mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-15 17:35:29 +02:00
Merge origin/main (v1.80.0.0) into consolidate-browser-skills-into-aside; queue-advance release to v1.81.0.0
Both sides claimed v1.80.0.0, so VERSION, package.json and the agents digest auto-merged without a conflict; the release is re-versioned to the next free MINOR slot (bin/gstack-next-version), the size-budget baseline renamed to match, and the CHANGELOG carries the Aside-first entry above main's. Two semantic conflicts hidden in the clean setup auto-merge are resolved here: - _prune_stale_generated deleted a REAL host directory on banner-only proof; main's #2119 gate makes that weak proof file-scoped, so real dirs now go through _cleanup_weak_dir (SKILL.md, marker and our links only). - _browser_hint and the Chromium bootstrap summary now consult _PW_FAIL_REASON and Aside presence, so they never promise a bundled browser that cannot launch and never tell an Aside user their browser skills are gone. README, TESTING_INTERNALS and TODOS wording reconciled with the merged tree. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -286,6 +286,20 @@ Names are either short (`qa`) or namespaced (`gstack-qa`), controlled by
|
||||
`skill_prefix` in `~/.gstack/config.yaml`. Pass `--no-prefix` or `--prefix` to
|
||||
skip the interactive prompt.
|
||||
|
||||
**Ownership gate (#2119):** `setup` writes a `.gstack-owned` marker into every
|
||||
skill directory it creates, and `setup` (the linker, the alias installer, and
|
||||
both prefix-flip cleanups) and `bin/gstack-relink` only delete or link over an
|
||||
entry they can prove is gstack's. Strong proof (a symlink resolving into gstack,
|
||||
or the marker) allows deleting or refreshing the whole directory. Weak proof (a
|
||||
real SKILL.md byte-identical to the source, or carrying gen-skill-docs' two-line
|
||||
banner) covers only that one file, and a weakly-proven file that differs is
|
||||
moved to `~/.gstack/backups/skills/<ts>/<skill>/SKILL.md` before gstack links
|
||||
over it. Anything else is a foreign skill: skipped, and named in setup's final
|
||||
summary. The rule lives in two copies (`setup` and `bin/gstack-relink`); keep
|
||||
them in sync until the shared helper filed in TODOS.md lands. Pinned by
|
||||
`test/setup-link-ownership.test.ts`, `test/setup-cleanup-orphans.test.ts`, and
|
||||
`test/relink.test.ts`.
|
||||
|
||||
**Note:** Vendoring gstack into a project's repo is deprecated. Use global install
|
||||
+ `./setup --team` instead. See README.md for team mode instructions.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user