@erclx/canon 5.75.0 → 5.77.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/claude/.claude-plugin/plugin.json +1 -1
- package/claude/skills/ci-workflow/REQUIREMENT.md +8 -2
- package/claude/skills/ci-workflow/SKILL.md +3 -0
- package/claude/skills/design-identity/REQUIREMENT.md +1 -1
- package/claude/skills/design-identity/SKILL.md +13 -4
- package/claude/skills/design-identity/references/card-route.md +11 -4
- package/claude/skills/git-issue/REQUIREMENT.md +4 -2
- package/claude/skills/git-issue/SKILL.md +32 -3
- package/claude/skills/git-issue/references/issue.md +7 -0
- package/claude/skills/issue-triage/REQUIREMENT.md +35 -0
- package/claude/skills/issue-triage/SKILL.md +130 -0
- package/claude/skills/role-orchestrator/SKILL.md +1 -1
- package/claude/skills/role-orchestrator/references/orchestrator-handoff.md +1 -1
- package/claude/skills/role-orchestrator/references/orchestrator-poll.md +15 -15
- package/claude/skills/role-orchestrator/scripts/poll.ts +211 -96
- package/claude/skills/role-orchestrator/scripts/repo.ts +53 -1
- package/docs/agents/migrate.md +10 -10
- package/docs/agents/targets.md +3 -1
- package/docs/migrations/by-verb.md +8 -4
- package/docs/workflow/ai-workflow.md +1 -1
- package/docs/workflow/skill-map.md +1 -0
- package/package.json +2 -2
- package/src/capture/render.ts +30 -5
- package/src/claude/cases/git.ts +5 -0
- package/src/claude/cases/workflow.ts +4 -0
- package/src/commands/capture.ts +38 -1
- package/src/commands/claude.ts +4 -0
- package/src/commands/targets.ts +11 -1
- package/src/markdown/scope.ts +2 -0
- package/src/migrate/session-defaults.ts +36 -8
- package/src/targets/registry.ts +99 -14
- package/src/targets/resolve.ts +3 -1
- package/tooling/astro/configs/card.config.mjs +4 -0
- package/tooling/astro/configs/scripts/check-card-exclusion.sh +7 -2
- package/tooling/astro/reference.md +2 -1
- package/tooling/claude/seeds/.claude/settings.json +4 -0
- package/tooling/web/configs/.github/workflows/readme-screenshot.yml +3 -1
- package/tooling/web/configs/.github/workflows/verify.yml +5 -2
- package/tooling/web/configs/scripts/install-playwright-deps.sh +52 -0
- package/tooling/web/reference.md +5 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Installs the Playwright system packages for the named browsers, killing an
|
|
3
|
+
# attempt that outlives its bound and retrying it. A degraded apt mirror hangs
|
|
4
|
+
# one connection rather than failing it, so a step timeout alone turns the
|
|
5
|
+
# hang into a red check and never recovers it, while a fresh attempt usually
|
|
6
|
+
# lands on a healthy backend.
|
|
7
|
+
#
|
|
8
|
+
# Usage: install-playwright-deps.sh [--package <spec>] <browser>...
|
|
9
|
+
# Exits 0 on the first success, 2 when no browser is named, and the last
|
|
10
|
+
# attempt's code when every attempt fails.
|
|
11
|
+
set -e
|
|
12
|
+
|
|
13
|
+
package=playwright
|
|
14
|
+
if [ "$1" = "--package" ]; then
|
|
15
|
+
package=$2
|
|
16
|
+
shift 2
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
if [ $# -eq 0 ]; then
|
|
20
|
+
echo "Usage: install-playwright-deps.sh [--package <spec>] <browser>..." >&2
|
|
21
|
+
exit 2
|
|
22
|
+
fi
|
|
23
|
+
|
|
24
|
+
attempts=3
|
|
25
|
+
bound=${INSTALL_ATTEMPT_SECONDS:-150}
|
|
26
|
+
|
|
27
|
+
# The runner image sets these, yet a stalled log shows gaps of minutes, so
|
|
28
|
+
# print what apt actually reads to settle whether they took effect
|
|
29
|
+
apt-config dump | grep -E '^Acquire::(Retries|http::Timeout) ' || true
|
|
30
|
+
|
|
31
|
+
status=0
|
|
32
|
+
for attempt in $(seq 1 "$attempts"); do
|
|
33
|
+
if [ "$attempt" -gt 1 ]; then
|
|
34
|
+
# timeout runs as the runner user, and Linux drops its signal to the root
|
|
35
|
+
# apt-get playwright spawns through sudo. sudo relays it only to its own
|
|
36
|
+
# child shell, so a root apt-get or dpkg can outlive the kill and hold the
|
|
37
|
+
# lock the next attempt needs.
|
|
38
|
+
sudo pkill -KILL -x 'apt-get|dpkg' || true
|
|
39
|
+
# A kill during unpack leaves dpkg interrupted, which refuses the next
|
|
40
|
+
# install. Its own failure must not end the loop.
|
|
41
|
+
sudo dpkg --configure -a || echo "dpkg --configure -a failed before attempt ${attempt}" >&2
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
status=0
|
|
45
|
+
timeout --kill-after=10 "$bound" bunx "$package" install-deps "$@" || status=$?
|
|
46
|
+
if [ "$status" -eq 0 ]; then
|
|
47
|
+
exit 0
|
|
48
|
+
fi
|
|
49
|
+
echo "attempt ${attempt}/${attempts} failed with exit ${status}" >&2
|
|
50
|
+
done
|
|
51
|
+
|
|
52
|
+
exit "$status"
|
package/tooling/web/reference.md
CHANGED
|
@@ -88,6 +88,11 @@ The starter `e2e/home.spec.ts` is seeded once. Sync copies it into a project tha
|
|
|
88
88
|
- `.github/workflows/verify.yml` runs `static-checks`, `unit-tests`, `build-verify`, and `e2e-tests`. `unit-tests` installs Chromium and runs `test:browser` only when the project defines that script.
|
|
89
89
|
- Read `governance/rules/tooling/ci-workflow.md` for when a workflow's commit-back is right and when a report is
|
|
90
90
|
|
|
91
|
+
## Playwright installs in CI
|
|
92
|
+
|
|
93
|
+
- Both workflows install Playwright's system packages through `scripts/install-playwright-deps.sh`, which sits beside `worktree-port.sh` and retries an attempt a stalled apt mirror hangs
|
|
94
|
+
- Expect each system install bounded at 10 minutes and each browser download at 5, while the jobs carry no bound, since test and build time differs per project
|
|
95
|
+
|
|
91
96
|
## Design references
|
|
92
97
|
|
|
93
98
|
- Expect a seeded `canon/design/index.md` stub carrying `auto: false`, copied only when missing, so a project's own index is never replaced
|