Repository navigation
Conversation
0.2.1 — verification (2026-11-04)Environment: ZCode CLI 0.17.1, macOS 27.0.1 arm64, Python 3.14.4. Installed from a local marketplace ( Ran the bundled CLI from that installed cache in an empty directory:
Repo-side gates for the same tree: Not covered: remote |
Addendum — also run inside a real ZCode agent sessionNot only the CLI from the cache: a headless ZCode session ( |
|
✅ Internal validation passed. A ZCode maintainer will review the change next; after acceptance, release checks run separately and this PR is closed automatically. |
f1d5d7f to
dbb3351
Compare
Third round — review & simplification (2026-11-05)No new features. Three things came out of the audit: 1. A documented port did not exist. The README listed four ports — role, template, deploy and tool — and described a local files implementation for the tool port. 2. 41 byte-identical template copies collapsed into The generated output is byte-identical: I enumerated all 36 3. The 0.3.0 capability was missing from every description. Also corrected: the layout directory lists in the READMEs and Verification: 92 Python tests + 4 Node tests pass; Payload: re-synced, 127 files (down from 149 — that is the template de-duplication), verified blob-by-blob against Not verified this round: no end-to-end deploy was run; the change touched templates, docs and unreachable code only. |
dbb3351 to
884b343
Compare
|
✅ Internal validation passed. A ZCode maintainer will review the change next; after acceptance, release checks run separately and this PR is closed automatically. |
|
✅ Internal validation passed. A ZCode maintainer will review the change next; after acceptance, release checks run separately and this PR is closed automatically. |
884b343 to
5169a21
Compare
|
Re-pushed the payload at 0.3.1 ( Changes since the 0.3.0 payload (
|
5169a21 to
6210ff6
Compare
0.3.2 — packaging hygiene (2026-11-05)Payload re-pushed at 0.3.2: head What was wrong. Re-running the suite from a clean tree, the bytecode test came up red:
Fix.
Evidence.
Not covered. No |
6210ff6 to
81f60a8
Compare
0.3.3 — deploy-path hardening (2026-11-05)Payload re-pushed at 0.3.3: head Everything below came from running the loop end to end against a real host — an isolated slot ( 1. The probe judged a service that had not started yet. 2. 3. 4. 5.
Tests: 97 → 109 (readiness window, dirty-tree guard, bootstrap/teardown guards, prod preview) plus the node suite 4/4. A blind spot worth stating. The probe trusts a marker the build writes, so a build that refreshes Not covered. No |
81f60a8 to
b9eb0a6
Compare
|
Re-pushed this branch as 1. The PR now follows 2. The entry named the repo-root Re-verified against the branch itself (not a local checkout):
Request: the earlier 中文摘要:本轮只补元数据与载荷完整性 —— 恢复了模板要求的插件类型声明与自查清单、标题加上 |
b9eb0a6 to
4b0b298
Compare
|
Update: payload bumped to 0.3.4 (head |
Plugin type (required) / 插件类型(必填)
Affected plugin name(s) / 涉及的插件名称:
galadonWhat / 改动内容
EN — Adds
galadon, a five-stage engineering loop — spec, build, verify, ship, learn — for agent-built projects. The repository is the plugin: a Python CLI plus a skill that keeps the agent on the single next action, with one artifact and one gate per stage.init --layout {none,webapp,service,plugin} --stack {python,node,none}scaffolds a project's internal layering (entry docs, an OpenSpec plan face, aspec/truth layer, a wiki split, the six.agents/slots, server+web, scripts/deploy/config, tests, a gitignoredout/). The scaffold ships passing tests and real check commands, and non-nonelayouts also gate the directory contract.localadapter and anssh/systemd adapter with release directories, an atomiccurrent/previousswitch, a deploy lock, a commit-versioned probe and automatic rollback.shiprefuses to report success without a version probe, a production release needs--yes-prod, andteardownonly removes a rootbootstrapcreated.galadon.yamlis strict: unknown top-level keys fail loudly, matching the shipped schema.中文 — 新增
galadon:面向 agent 工程的五阶段循环(规格 / 施工 / 验证 / 发布 / 收口),每阶段一个产物一道闸,agent 永远知道下一步该做什么。内置版式与技术栈脚手架生成器、local与ssh/systemd 两个部署适配器(版本目录、原子切换、部署锁、探针与自动回滚),以及严格的配置校验。Visible behavior and testing / 可见行为与测试
python3 -m unittest discover -s tests→ 109 passed;node --test tests/test_plugin.mjs→ 4 passed (macOS 27.0.1 arm64, Python 3.14.4, Node 24.15.0)./srv/galadon-relay-e2e, reached over an SSH tunnel, no port exposed):shipPASS with HTTP 200 and a matching commit; a release that exits on start was probed 48 times / 15 s, failed, and auto-rolled back, with the post-rollback recheck green and the bad version left on disk but not serving.systemctl restartbefore the port accepts.bootstraprefuses a non-empty unmarked root and a root owned by another slot (exit 65, before creating user/unit/caddy);shiprefuses a dirty working tree; a second concurrentshipis rejected by the deploy lock (exit 75);ship --dry-runno longer asks for--yes-prod.Not covered by this round / 本轮未覆盖:
Version and marketplace registration / 版本与市场注册
external_plugins/galadon/(117 files, 192 KiB),.zcode-plugin/plugin.jsonand themarketplace.jsonentry both at 0.3.3.developer-tools; icon added at the repo-root path the entry uses (assets/galadon/icon.png, 512×512).description_i18ncarriesenandzh-CN, byte-identical between the manifest and the entry;README.md/README_CN.mdare both present and kept in step.Dependencies, network, permissions, side effects / 依赖、网络、权限与副作用
gitfor versioned releases.rsync, systemd and Caddy on the target; thesshadapter writes release directories, a systemd unit, a dedicated system user and a Caddy site block.spec/,wiki/,.agents/,out/) and, on a remote host,/srv/galadon-*plus the unit/user/Caddy block.teardownreverses only whatbootstrapcreated.Licensing / provenance / 许可与来源
LICENSEships in the plugin directory); code written for this submission.Self-check / 自查清单
external_plugins/galadon/; existing fixes retain ownership / 插件名唯一且 kebab-case,外部新增插件位于external_plugins/galadon/,已有插件修复保留原归属categoryis set independently of publisher ownership / 用途分类category已填写,与维护归属分开:developer-toolsversionbumped in BOTHplugin.jsonandmarketplace.json(artifacts are immutable) /plugin.json与marketplace.json两处版本号已同步升级:0.3.3README.md(EN) andREADME_CN.md(中文) both updated and equivalent / 中英文 README 均已更新且语义一致description_i18nhas bothenandzh-CN/description_i18n包含en与zh-CNpython3 scripts/validate.pypasses on this branch, and the plugin artifact was built through the samebuild_zip()code path CI uses (size and sha256 in the comment below). The fullpython3 scripts/build_dist.pyneeds the repo's UI-pluginpnpm buildand fails identically on upstreammain(excalidraw: incomplete build), so CI runs it here — see the note above. / 本地validate.py通过,本插件产物用 CI 同一条build_zip()路径打出(体积与 sha256 见下方评论);完整build_dist.py依赖仓库自带 UI 插件的pnpm build,在main上同样失败,交由 CI 执行