laily
e60755f280
fix(builder): 版本时间格式改回 YYYYMMDDTHHMM
...
按要求保留字母分隔符:20260918T1722。分钟精度不变,同一分支同日多次
构建仍能正确排序。
记录切换边界:Debian 里字母排在标点之前,YYYYMMDDT… 小于旧格式的
YYYYMMDD.…,切换当天同日的旧格式包会压住新包,需要在仓库里把那些旧包
移除或停用;次日新格式始终更大。回归测试显式断言这行边界。
2026-09-19 13:32:16 +08:00
laily
eb2d0ce651
fix(builder): 版本时间精确到分钟,修复同日重构建的 apt 排序
...
同日同分支的测试版本前缀完全相同,只剩 +g<sha> 可区分;Debian 版本比较把
hex 当普通文本,新构建可能小于旧构建,apt upgrade 因此拿不到最新包。
build_date() → build_stamp(),改为 YYYYMMDDHHMM,时间与日期拼成一段数字
才能按数值比较。不能写成 20260918T1722:Debian 里字母排在标点之前,带 T
的版本小于同日旧格式包的 20260918.…,修复当天仍抢不过已上传的旧包。
补回归测试,用 dpkg --compare-versions 锁定同日重建更大、且压过旧格式同日包。
2026-09-19 13:23:52 +08:00
laily
b476176f3b
Merge branch 'main' of https://git.yumee.top/laily/.pouch
2026-09-16 23:09:21 +08:00
laily
cc9af04a40
tester v2: 术语对齐 pytest/JUnit/Robot,补齐 automation 与 not-run
...
字段改名(每项取舍的理由见新增的 references/concepts.md):
- 用例 status -> lifecycle, suite -> tag, surface -> driver,
cleanup -> teardown, skip_unless -> assume;删除 requires
- risk 取值 safe/act/harm -> readonly/mutating/destructive(单调三级,
与 gate 正交)
- catalog auth_env -> authorize;授权变量统一为
AUTHORIZE_MUTATING / AUTHORIZE_DESTRUCTIVE
新增用例字段 automation(automated/assisted/manual),默认 automated,
并在 validate 里机器校验:manual 禁用 driver 与 how.run 且必须有
how.steps;assisted 至少一步以 [人工] 开头。select 新增 --automation。
结果词新增 not-run,区分「主动不跑」(skipped:retired/pending/超风险
上限/未授权/assume 不成立)与「没轮到」(失败即停后、被分类前置挡住整组、
需人工而无人值守)。
status_probe 定为分类级前置条件:catalog 顶层为默认,categories[] 同名键
覆盖(缺省继承 / false 关闭 / mapping 整体替换)。select 按分类返回生效值,
并把 probe.url 用 vars 展开(solve Agent 无法自行解析 ${VAR} 的问题),
同批返回 vars 供 how 里的 ${...} 替换。
新增 references/concepts.md:术语表(每词一句唯一定义 + 业界锚点 +
反例)、v1->v2 映射、以及 risk/automation/not-run/status_probe 的设计理由。
其余文档(SKILL/README/schema/levels/run/maintain)与三个脚本(catalog、
generate_cases_csv、generate_run_csv)同步更新。
2026-09-16 23:07:08 +08:00
laily
d791f5584c
refactor(releaser): 将 manage-release 改名为 releaser
...
- skills/manage-release -> skills/releaser(git mv,内容不变)
- releaser 的 frontmatter/标题改名,description 保留旧名作为触发词
- skills/manage-release/ 保留为纯弃用占位(SKILL.md + README.md,指向 releaser),
已装软链与旧项目 .pouch.yaml 不再悬空或失效
- 同步或引用:AGENTS.md、README.md、docs/getting-started.md、orc(routing/SKILL/README)、
ack delivery、builder(SKILL/README/contract)、memory-distill、pouch onboard 与
suggest_skills
- 测试:catalog 需列出旧名占位,新增弃用占位断言,orc children 纳入旧名占位
2026-09-16 15:14:12 +08:00
laily
ca3156ed93
Merge branch 'main' of https://git.yumee.top/laily/.pouch
2026-09-16 14:40:34 +08:00
laily
bdfd2ff342
feat: update tester
2026-09-16 14:40:33 +08:00
laily
ca090cd7f2
feat: update skills
2026-09-15 12:29:40 +08:00
laily
2783946cec
Merge branch 'main' of https://git.yumee.top/laily/.pouch
2026-09-10 17:12:11 +08:00
laily
a47e899702
feat(tester): add catalog-driven black-box test skill
...
Maintain and run project test catalogs under .pouch/tester, filtered by
category, id, and risk (safe/act/harm). Scripts generate the human CSV
from cases YAML.
2026-09-10 16:34:38 +08:00
laily
2ba027098f
feat(builder): Android/iOS 构建与 copy_artifact 发布
...
新增 APK/IPA 轨道和 copy_artifact.sh(本地目录或 container:/dir)。
push 必须委托该脚本,禁止在 makefile 里内联 docker cp。
2026-09-09 01:13:56 +08:00
laily
aa7a265e76
feat(builder): declare multi-arch builds with ARCHES
...
Project architecture lists belong in makefile.builder, not .env.builder.
deb/push-deb fan out when ARCH is omitted; Docker platforms derive from
ARCHES. Legacy makefiles without ARCHES keep the old single-arch behavior.
2026-09-08 16:31:53 +08:00
laily
c248c3f0e3
feat: update readme
2026-09-08 15:40:22 +08:00
laily
9b3e16cb63
feat: update readme
2026-09-08 15:25:58 +08:00
laily
06865939e1
fix(builder): bump test versions to next patch
...
After a stable tag vX.Y.Z, untagged commits now produce
X.Y.(Z+1)~date.branch.n+gSHA so test DEBs sort above the last
official release and still below the next official X.Y.(Z+1).
2026-09-08 14:30:49 +08:00
laily
852dee3a69
feat(builder): append YYYYMMDD to test versions
2026-09-08 10:59:17 +08:00
laily
83deb886b5
feat(deployer): fall back to scp when rsync is missing
2026-09-07 15:43:38 +08:00
laily
17643bc17b
feat: add eli5
...
Port anthropics/claude-plugins-community eli5 into builtin skills as a
single-page HTML picture explainer for readers with no background.
2026-09-04 23:15:03 +08:00
laily
4ce08ec89e
Merge branch 'main' of https://git.yumee.top/laily/.pouch
2026-09-04 20:10:00 +08:00
laily
b28acc66d8
feat: add host-sec-check
2026-09-04 11:54:07 +08:00
laily
c2d6a5a0d7
feat(deployer): skip sync on localhost and complete skill READMEs
...
Redeploy locally with docker compose when the node is 127.0.0.1 and
the image already exists. Make list/sync/remote/deb importable under
python3 -I -S. Add human README.md for every builtin skill, slim ack's
user-facing docs, and drop unused OpenSpec config.
2026-09-04 00:07:15 +08:00
laily
ef22c6829e
refactor(skills): slim ack/builder/deployer for layered loading
...
Move mode-specific steps into references so SKILL.md only keeps routing and fail-closed rules.
2026-08-26 11:26:58 +08:00
laily
2be0964d73
feat(pouch): add skill structure audit to cut token waste
...
Teach pouch to optimize a named skill's loading layout: keep SKILL.md as a
router, move mode-specific steps to references, and measure footprint with
an audit script instead of dumping the whole skill into context.
2026-08-26 10:36:24 +08:00
laily
681aa9e237
feat(builder): load publish credentials from .env.builder
...
Keep DEB/Docker publish keys out of the project's .env. Scripts and
check.py --ready only read .env.builder; empty values count as missing.
2026-08-25 16:58:56 +08:00
laily
10d8800f07
feat: add skill init/check and isolate builder makefile
...
Give ack, builder, and deployer an explicit init/check mode that reports
missing project config instead of failing mid-work. Point builder at
makefile.builder so its contract targets do not collide with an existing
Makefile.
2026-08-25 16:49:28 +08:00
laily
e9d2b5fde6
fix(builder): point version.mk at ~/.pouch after merging main
...
Keep ~/.skills as a lookup fallback so existing checkouts still resolve
version.sh.
2026-08-25 15:29:08 +08:00
laily
f0b71b5bec
Merge remote-tracking branch 'origin/main' into rename
2026-08-25 15:27:32 +08:00
laily
4423e7df1a
feat: update
2026-08-25 15:26:29 +08:00
laily
12e00bd594
Merge branch 'main' into rename
...
Keep pouch naming and .pouch/ack project state, and bring in ACK
regression mode, deployer test-environment binding, and manage-release
updates from main.
2026-08-25 15:23:48 +08:00
laily
f3cd56b78e
feat: rename skills/skiff to pouch and move ACK state under .pouch
...
Use ~/.pouch, the pouch CLI, and .pouch.yaml as the SSOT container.
Keep the inner skills/ packages, and store ACK project state in
.pouch/ack instead of docs/ack.
2026-08-25 15:20:02 +08:00
laily
03d6298145
Merge pull request 'feat: update release' ( #7 ) from fix-release into main
...
Reviewed-on: laily/.skills#7
2026-08-25 14:42:58 +08:00
laily
a7a201962a
feat: update release
2026-08-25 14:42:26 +08:00
laily
ad6695245b
feat(ack): bind test env to deployer and add regression mode
...
ACK 0.19.0 hands test-environment deploys to the deployer skill,
documents bug-fix as a first-class scenario, and adds
docs/ack/regression.yaml harvest plus a /ack regression run.
2026-08-25 14:41:05 +08:00
laily
ee31278947
feat(deployer): add Argo CD / GitOps workflow with MR-based deployment
2026-08-24 20:37:55 +08:00
laily
282a6809ac
test(ack): align allowedWorktrees deprecation tests with v0.19 contract
...
e4d4319 deprecated the allowedWorktrees whitelist (git worktree registry +
same common-dir checks replace it) but left 4 tests asserting the old
contract:
- test_ack_skill: template must NOT contain allowedWorktrees: anymore,
only the deprecation comment
- test_ack_worker_profiles: legacy allowlist field is tolerated (no
'requires at least one path'); receipt no longer validated against it
- test_ack_launch_worker: capture_worktree_identity dropped the
allowlist arg; assert registered-worktree pass, symlink impostor and
unregistered-rejection under the new signature
2026-08-24 15:40:02 +08:00
laily
a8efa5f359
feat(skiff): replace opencode target with agents standard dir
...
- targets: cursor, claude, codex, agents (~/.agents/skills, .agents/skills)
- agents dir covers OMP native discovery; drop omp/opencode targets
- project-level agents/cursor/codex share .agents/skills via idempotent symlinks
- migrate local state: remove ~/.config/opencode/skills links, reinstall into ~/.agents/skills
2026-08-24 14:25:08 +08:00
ace
47bd454fa3
feat(builder): merge deb-publisher + publish-docker-image into contract-driven builder skill
...
- skills/builder: SKILL.md, README.md, references/contract.md (make/publish
contract v1), references/registry.md
- scripts/check.py: executable contract checker (make dry-run probes, secret
scan, push thin-wrapper and script path checks; --build verifies real .deb)
- scripts/upload_deb.sh: migrated from deb-publisher, adds project .env
auto-load and dirty-worktree publish gate
- scripts/publish_docker.sh: migrated from publish-docker-image publish.sh,
now env-first (DOCKER_REGISTRY/REPOSITORY/IMAGE_TAG/PLATFORMS), refuses
floating latest and multi-platform --load
- scripts/verify_deb.sh: metadata/content/sha256 verification with v-prefix
normalization
- orc: deb+docker stages both route to $builder; routing table, DAGs,
README, config untouched stage names; tests updated
- ack delivery.md + skiff source-model.md: reference builder
- remove skills/deb-publisher and skills/publish-docker-image
2026-08-24 12:52:53 +08:00
laily
e7a139e2cb
feat(deployer): add deb package distribution and install via scp/apt
2026-08-24 11:25:43 +08:00
laily
e4d4319919
feat: add deployer
2026-08-24 09:44:59 +08:00
laily
31bc5f45ce
feat: add memory-distill skill
...
Task-end session distill into general and per-skill project memory stores via memories/manifest.md.
2026-08-24 00:46:20 +08:00
laily
1c52a3996c
feat(ack): reclaim verified worker terminals via script after round end
2026-08-23 23:14:29 +08:00
laily
5a906f24fa
feat(ack): supervise worker liveness after dispatch instead of blind wait
2026-08-23 23:06:22 +08:00
laily
d33bc3ccaf
refactor(ack): default OMP workers to yolo approval, drop approvalMode switch
2026-08-23 22:32:30 +08:00
laily
e0fffd6845
feat(ack): make OMP yolo config-driven via approvalMode
2026-08-23 22:28:58 +08:00
laily
b7b6d814b2
docs(ack): clarify OMP yolo as authorized approval mode
2026-08-23 22:25:36 +08:00
laily
1a74b15ed5
feat: update
2026-08-23 22:02:06 +08:00
laily
02fafb4bf6
feat(ack): support OMP workers
2026-08-23 22:00:32 +08:00
laily
7dfdf80e9e
feat(ack): add grok workers and allow --always-approve
...
Grok is a first-class worker CLI. Launcher argv includes --always-approve so
unattended tool calls are not blocked; sandbox stays required.
2026-08-23 19:08:54 +08:00
laily
c113f68bf4
feat: add draw-prototype-flow
2026-08-04 13:55:32 +08:00
laily
5ff8899b48
feat: update manage-release
2026-08-04 13:55:16 +08:00