@przeprogramowani/10x-cli 1.21.0 → 1.22.1
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/README.md +122 -16
- package/dist/index.mjs +1139 -13
- package/package.json +4 -3
- package/skills/10x-cli-guide/SKILL.md +242 -238
- package/skills/10x-cli-guide/references/compatibility.md +323 -0
- package/skills/10x-cli-setup/SKILL.md +124 -38
- package/skills/10x-cli-setup/references/compatibility.md +323 -0
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
# CLI compatibility, channels and command context
|
|
2
|
+
|
|
3
|
+
This reference is packaged inside each helper. Both copies must have identical
|
|
4
|
+
bytes in the authoring repository. It defines the guided filtered-download contract;
|
|
5
|
+
verify the selected published CLI and live content before executing that path.
|
|
6
|
+
|
|
7
|
+
## Version and capability check
|
|
8
|
+
|
|
9
|
+
Record four independent identities: CLI runner/version, CLI package source,
|
|
10
|
+
public helper source revision, and the course content release. Updating one does
|
|
11
|
+
not automatically update the others.
|
|
12
|
+
|
|
13
|
+
| Evidence | What it establishes | What it does not establish |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| Actual executable `--version`, command help | The runner and syntax in use | Working API, entitlement or a published helper revision |
|
|
16
|
+
| npm version, `dist.integrity`, `gitHead`, matching packaged README/source | Origin of that published package | Publication of changes on a development branch |
|
|
17
|
+
| Full helper commit retained on public CLI master | Reproducible public helper source | Installation in this project or course publication |
|
|
18
|
+
| Successful named download and complete local tree/manifest | Actual package/API/content behavior for this context | A successful agent task or another profile/language |
|
|
19
|
+
|
|
20
|
+
The earlier planning shorthand `get SKILL_NAME` was incorrect. Released CLI
|
|
21
|
+
uses a lesson reference plus `--type skills --name NAME`; there is no standalone
|
|
22
|
+
skill-name positional command or independent skill-owner sync contract. On 2026-09-14, CLI `1.21.0` was published with v4, filtered skill downloads
|
|
23
|
+
and Circle login; production m1 EN/PL and sync were verified. Its npm `gitHead`
|
|
24
|
+
is `2cc510fe690ba820937602d702564985087ded46`. These revised helpers have their
|
|
25
|
+
own source/content identity and are not implied by installing CLI 1.21.0. A local
|
|
26
|
+
source build can carry an old version label; do not identify features from that
|
|
27
|
+
label alone.
|
|
28
|
+
|
|
29
|
+
For a known installed version, read its npm metadata (replace the shell variable
|
|
30
|
+
with the observed version) and use the matching source revision for documentation:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
: "${CLI_VERSION:?Set the actual published CLI version}"
|
|
34
|
+
npm view "@przeprogramowani/10x-cli@$CLI_VERSION" version engines gitHead dist.integrity dist.tarball --json
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Use that exact package's README or
|
|
38
|
+
`https://raw.githubusercontent.com/przeprogramowani/10x-cli/<gitHead>/README.md`,
|
|
39
|
+
with the real `gitHead` substituted. For a standalone binary, use its actual
|
|
40
|
+
release tag/asset, published verification information and matching source. Do not
|
|
41
|
+
invent a source SHA if metadata is absent. The installed help wins for supported
|
|
42
|
+
flags; a help/README mismatch must remain visible and be checked against matching
|
|
43
|
+
source, not resolved by fetching arbitrary master instructions.
|
|
44
|
+
|
|
45
|
+
Before the filtered-download journey, verify `get --help` and matching source/release evidence
|
|
46
|
+
for `get m1l1 --type skills --name NAME` and lesson-scoped sync. A successful `--help` exit alone does
|
|
47
|
+
not prove skill-filter support. If support or release evidence is missing, prepare the
|
|
48
|
+
public helpers and handoff, but pause filtered commands with a precise explanation.
|
|
49
|
+
Once supported, a filtered dry-run verifies the actual API/content selection before
|
|
50
|
+
writing. Report unsupported reference, missing skill/index, locked module, denied
|
|
51
|
+
access and network errors separately; do not silently use a lesson or v3 instead.
|
|
52
|
+
|
|
53
|
+
## Keep one runner and one project context
|
|
54
|
+
|
|
55
|
+
The examples below use a pinned npx runner in macOS/zsh or another POSIX shell.
|
|
56
|
+
Set `CLI_VERSION` from verified release evidence, then use this function in that
|
|
57
|
+
shell session. If the user's existing verified global/standalone `10x` works,
|
|
58
|
+
substitute its exact executable for `10x_cli`; no reinstall is required.
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
: "${CLI_VERSION:?Set the actual published CLI version}"
|
|
62
|
+
10x_cli() { npx --yes "@przeprogramowani/10x-cli@$CLI_VERSION" "$@"; }
|
|
63
|
+
10x_cli --version
|
|
64
|
+
10x_cli --help
|
|
65
|
+
10x_cli get --help
|
|
66
|
+
10x_cli sync --help
|
|
67
|
+
10x_cli auth --help
|
|
68
|
+
10x_cli auth --status
|
|
69
|
+
10x_cli list --course 10xdevs4
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Run commands from the intended project root. The target guided context is
|
|
73
|
+
`--course 10xdevs4 --tool claude-code --lang pl`; preserve it in downloads,
|
|
74
|
+
previews, updates and recovery. `list` takes `--course`, not tool/lang flags.
|
|
75
|
+
Use another context only when the user chose it. Record any language fallback
|
|
76
|
+
reported by the CLI rather than calling English output Polish.
|
|
77
|
+
|
|
78
|
+
The project edition is stored in `.10x-cli.json` after a validated write and shared
|
|
79
|
+
across profiles; existing supported manifests also carry edition information.
|
|
80
|
+
Course selection is explicit flag → project edition → live API recommendation.
|
|
81
|
+
An explicit course does not authorize changing a bound project's edition. Retain
|
|
82
|
+
the v3 project and start a separate v4 directory for this journey. Preserve unknown,
|
|
83
|
+
corrupt or conflicting manifests; never delete a binding to force migration.
|
|
84
|
+
|
|
85
|
+
Verified releases with the project-binding safeguards preserve project files and
|
|
86
|
+
tool/language preferences during `list`, `get --print`, `get --dry-run`,
|
|
87
|
+
`sync --dry-run` and `doctor`. Auth token refresh can still update the credential
|
|
88
|
+
store. Verify the selected release's contract before describing a preview as
|
|
89
|
+
read-only; do not generalize older source bugs to the target release.
|
|
90
|
+
|
|
91
|
+
## Two helper channels, one owner per installed copy
|
|
92
|
+
|
|
93
|
+
The public authoring source is `przeprogramowani/10x-cli`, under
|
|
94
|
+
`skills/10x-cli-setup/` and `skills/10x-cli-guide/`. Toolkit distributes controlled
|
|
95
|
+
copies through course content. Each helper includes `SKILL.md` and its own
|
|
96
|
+
`references/compatibility.md`; neither may rely on an installed sibling helper.
|
|
97
|
+
|
|
98
|
+
Before either installer writes, inspect the destination directory, its path
|
|
99
|
+
components/symlink targets, the tool's `.10x-cli-manifest.json`, and the skills
|
|
100
|
+
installer's project registration/lock. Do not infer ownership solely from a
|
|
101
|
+
directory name. If ownership is mixed or unknown, preserve local files and
|
|
102
|
+
resolve it before writing; use a separate project to try the other channel.
|
|
103
|
+
|
|
104
|
+
### Bundled public copies (unreleased command)
|
|
105
|
+
|
|
106
|
+
The next CLI release adds `10x helpers install --tool copilot` (use the user's
|
|
107
|
+
chosen profile). This command is absent from the 1.21.0 and 1.22.0 master
|
|
108
|
+
baselines. Verify `10x helpers --help` on the actual runner; a source build may
|
|
109
|
+
still report the baseline version. Do not claim npm availability from this text.
|
|
110
|
+
|
|
111
|
+
When supported, run from the intended project:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
10x helpers install --tool copilot --dry-run
|
|
115
|
+
10x helpers install --tool copilot
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Both helpers and their own compatibility references are embedded in the same npm
|
|
119
|
+
bundle/standalone executable. No auth, network, external skills installer or
|
|
120
|
+
global installation is involved. `--tool` is required; Copilot writes to
|
|
121
|
+
`.github/skills/`, Claude Code to `.claude/skills/`, and other profiles follow the
|
|
122
|
+
CLI profile table. Do not carry `--agent github-copilot` from the external
|
|
123
|
+
installer into this command.
|
|
124
|
+
|
|
125
|
+
Existing identical files are unchanged; missing files are created. Any differing
|
|
126
|
+
helper file blocks the entire preflight with exit 1, preserving both helpers and
|
|
127
|
+
local extras. Never remove a user's files merely to make a retry pass. Keep an
|
|
128
|
+
existing copy, or let the user deliberately back it up outside managed trees
|
|
129
|
+
before replacement. Course-owned copies stay with get/sync; this command writes
|
|
130
|
+
no course manifest or binding. Filesystem errors also exit 1 and report that
|
|
131
|
+
already created files remain; unsupported options/targets exit 2. Preview uses
|
|
132
|
+
the same checks without writes. This is a public bundled snapshot, not an
|
|
133
|
+
automatic updater; another CLI version may contain different helper bytes and
|
|
134
|
+
will preserve differing installed files as conflicts. Neither npm installation
|
|
135
|
+
alone nor running this command activates the helpers in the agent.
|
|
136
|
+
|
|
137
|
+
For older CLI releases use the pinned public installer below with an explicit
|
|
138
|
+
agent and Project scope. For Copilot that is `--agent github-copilot --copy`,
|
|
139
|
+
which `skills@1.5.26` places in project `.agents/skills/`. Do not add `-g` or
|
|
140
|
+
`--all`. Confirm the complete tree and the actual source selected by Copilot.
|
|
141
|
+
|
|
142
|
+
### Public on-demand channel
|
|
143
|
+
|
|
144
|
+
This channel can bootstrap before CLI installation or course authentication.
|
|
145
|
+
Select a full, retained public CLI master commit containing these helper trees;
|
|
146
|
+
record it as `CLI_SKILLS_REF`. Do not use an unmerged branch SHA as the permanent
|
|
147
|
+
reference. The installer is separately pinned to the inspected `skills@1.5.26`.
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
: "${CLI_SKILLS_REF:?Set the full public CLI master SHA containing the helpers}"
|
|
151
|
+
npx --yes skills@1.5.26 add "https://github.com/przeprogramowani/10x-cli/tree/$CLI_SKILLS_REF/skills" --skill 10x-cli-setup --agent claude-code --copy
|
|
152
|
+
npx --yes skills@1.5.26 add "https://github.com/przeprogramowani/10x-cli/tree/$CLI_SKILLS_REF/skills" --skill 10x-cli-guide --agent claude-code --copy
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Run only the needed helper's command, from the project root. Project scope is the
|
|
156
|
+
default; do not add `--global`/`-g`. `--copy` requests a project copy instead of a
|
|
157
|
+
symlink. `npx --yes` accepts running the pinned npm tool; there is deliberately no
|
|
158
|
+
`--yes` argument to `skills add`, so its own prompts are retained. Confirm the
|
|
159
|
+
installer's actual paths and complete references after installation. A helper
|
|
160
|
+
already managed by CLI should be used/updated through CLI, not overwritten here.
|
|
161
|
+
|
|
162
|
+
### CLI channel
|
|
163
|
+
|
|
164
|
+
Use this channel after setup/auth and only with verified skill-filter support and
|
|
165
|
+
available v4 content. These helpers and the lesson skills `10x-idea-check`, `10x-init`, `10x-shape`, `10x-prd` belong to m1l1
|
|
166
|
+
and inherit course membership and module availability. Their source membership
|
|
167
|
+
does not prove that the content has been published or unlocked.
|
|
168
|
+
|
|
169
|
+
In a separate project from the public copies, or after the explicit takeover
|
|
170
|
+
below, use the same verified `10x_cli` runner:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
10x_cli get m1l1 --type skills --name 10x-cli-setup --course 10xdevs4 --tool claude-code --lang pl --dry-run
|
|
174
|
+
10x_cli get m1l1 --type skills --name 10x-cli-setup --course 10xdevs4 --tool claude-code --lang pl
|
|
175
|
+
10x_cli get m1l1 --type skills --name 10x-cli-guide --course 10xdevs4 --tool claude-code --lang pl --dry-run
|
|
176
|
+
10x_cli get m1l1 --type skills --name 10x-cli-guide --course 10xdevs4 --tool claude-code --lang pl
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Each successful filtered skill download should materialize
|
|
180
|
+
`.claude/skills/<canonical-name>/SKILL.md` and
|
|
181
|
+
`.claude/skills/<canonical-name>/references/compatibility.md`, under lesson ownership
|
|
182
|
+
`lessons.m1l1.skills` in `.claude/.10x-cli-manifest.json`, with hashes in
|
|
183
|
+
`files.skills`. Confirm that complete tree and owner from actual output/files.
|
|
184
|
+
This filter writes only the selected skill, not course rules or the whole lesson.
|
|
185
|
+
|
|
186
|
+
### Changing the owner deliberately
|
|
187
|
+
|
|
188
|
+
To move a public copy to CLI, inventory and back up that entire helper outside the
|
|
189
|
+
managed skill trees, including local changes and installer metadata needed for
|
|
190
|
+
recovery. Use the original pinned installer's `remove --help` and `remove` flow to
|
|
191
|
+
unregister only the selected helper at project scope for the selected agent.
|
|
192
|
+
Verify that both its registration and destination path/symlink are gone. If
|
|
193
|
+
anything remains or another owner is present, stop the takeover and preserve it.
|
|
194
|
+
Then use a filtered skill download and inspect its complete tree and lesson ownership. Merge
|
|
195
|
+
desired local edits consciously from the backup; do not automatically force them
|
|
196
|
+
over the downloaded copy. Reopen/read the installed helper after replacement.
|
|
197
|
+
|
|
198
|
+
The reverse move has no verified CLI per-skill unregister command in this contract.
|
|
199
|
+
Use a new isolated project for a public copy; do not hand-edit the CLI manifest or
|
|
200
|
+
place two updaters over the same files. Normal use does not require any takeover.
|
|
201
|
+
|
|
202
|
+
## Download, use, update
|
|
203
|
+
|
|
204
|
+
Prepare lesson 1's four skills, including `10x-idea-check` with its references.
|
|
205
|
+
The launch example remains the existing 10xCards: init → shape → PRD.
|
|
206
|
+
Idea assessment is optional to run before that chain; install its tree during
|
|
207
|
+
lesson setup so the learner can use it. Retain a narrower scope when the user
|
|
208
|
+
explicitly requested only a specific skill.
|
|
209
|
+
`10x-plan` is not available for the launch demonstration. After capability and
|
|
210
|
+
content checks for each name, inspect each preview before its corresponding write:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
10x_cli get m1l1 --type skills --name 10x-idea-check --course 10xdevs4 --tool claude-code --lang pl --dry-run
|
|
214
|
+
10x_cli get m1l1 --type skills --name 10x-idea-check --course 10xdevs4 --tool claude-code --lang pl
|
|
215
|
+
10x_cli get m1l1 --type skills --name 10x-init --course 10xdevs4 --tool claude-code --lang pl --dry-run
|
|
216
|
+
10x_cli get m1l1 --type skills --name 10x-init --course 10xdevs4 --tool claude-code --lang pl
|
|
217
|
+
10x_cli get m1l1 --type skills --name 10x-shape --course 10xdevs4 --tool claude-code --lang pl --dry-run
|
|
218
|
+
10x_cli get m1l1 --type skills --name 10x-shape --course 10xdevs4 --tool claude-code --lang pl
|
|
219
|
+
10x_cli get m1l1 --type skills --name 10x-prd --course 10xdevs4 --tool claude-code --lang pl --dry-run
|
|
220
|
+
10x_cli get m1l1 --type skills --name 10x-prd --course 10xdevs4 --tool claude-code --lang pl
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
Require the complete four trees and inspect each installed entrypoint/reference.
|
|
224
|
+
All checks below must succeed before use; stop on any failure:
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
test -s .claude/skills/10x-idea-check/SKILL.md
|
|
228
|
+
test -s .claude/skills/10x-idea-check/references/examples.md
|
|
229
|
+
test -s .claude/skills/10x-idea-check/references/assessment-guide.md
|
|
230
|
+
test -s .claude/skills/10x-idea-check/references/10xdevs-4-dates.md
|
|
231
|
+
test -s .claude/skills/10x-idea-check/references/10xdevs-4-certification.md
|
|
232
|
+
test -s .claude/skills/10x-init/SKILL.md
|
|
233
|
+
test -s .claude/skills/10x-shape/SKILL.md
|
|
234
|
+
test -s .claude/skills/10x-shape/references/prd-schema.md
|
|
235
|
+
test -s .claude/skills/10x-prd/SKILL.md
|
|
236
|
+
test -s .claude/skills/10x-prd/../10x-shape/references/prd-schema.md
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
PRD reads `../10x-shape/references/prd-schema.md` relative to its SKILL.md;
|
|
240
|
+
isolated PRD download is insufficient. These are the source minimum: preserve
|
|
241
|
+
additional supporting files in the selected release. Inspect all four names in
|
|
242
|
+
`lessons.m1l1.skills`, their hashes in `files.skills`, and the project edition
|
|
243
|
+
binding. Partial downloads do not establish complete lesson freshness/release identity.
|
|
244
|
+
Membership in source is candidate evidence; actual filtered availability, full PL
|
|
245
|
+
references and release identity still need verification for all four names.
|
|
246
|
+
|
|
247
|
+
`CLAUDE-m1l1` is a separate lesson rule and is not included in these filtered gets.
|
|
248
|
+
The inspected three skill sources do not require it for the chain. This is not
|
|
249
|
+
proof that the entire lesson needs no rule: if the learner's lesson instructions
|
|
250
|
+
require it, inspect an existing rule's provenance, or report the missing
|
|
251
|
+
prerequisite and ask the lesson/release owner for a supported route before that
|
|
252
|
+
step. Never invent a command, overwrite a rule or fall back to full lesson get.
|
|
253
|
+
|
|
254
|
+
If the learner wants to assess their idea before shaping, have the agent read
|
|
255
|
+
`.claude/skills/10x-idea-check/SKILL.md` and its references and follow that skill.
|
|
256
|
+
A learner ready to shape can skip assessment. Then read the chain's entrypoints
|
|
257
|
+
and references in order: init preserves/scaffolds context directories; shape conducts the actual
|
|
258
|
+
10xCards discovery with the learner and writes
|
|
259
|
+
`context/foundation/shape-notes.md`; after the learner approves those notes, PRD
|
|
260
|
+
uses them and the sibling schema to produce `context/foundation/prd.md`.
|
|
261
|
+
Ask for missing lesson inputs; do not manufacture a task.md, product decisions or
|
|
262
|
+
a finished plan. Respect existing-file collision choices and report actual output
|
|
263
|
+
paths. Inspect the notes, schema compliance, open questions and preserved local
|
|
264
|
+
work. Stop at PRD, without stack selection or implementation. Download alone is
|
|
265
|
+
not use; native slash/$ discovery needs separate agent evidence. Keep private
|
|
266
|
+
lesson text out of public fixtures. The guide supplies the detailed agent steps.
|
|
267
|
+
|
|
268
|
+
Sync below refreshes entire recorded lessons, not only the four skill filters.
|
|
269
|
+
Preview may include other skills, prompts, configs and course rules; apply only
|
|
270
|
+
when the user accepts that scope. For a narrow update, repeat the selected skill
|
|
271
|
+
filter instead. Never use sync to silently bypass a missing lesson-rule prerequisite.
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
10x_cli sync --course 10xdevs4 --tool claude-code --lang pl --dry-run
|
|
275
|
+
10x_cli sync --course 10xdevs4 --tool claude-code --lang pl
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
Normal sync refreshes downloaded owners, including the full lessons that own previously downloaded skills. Avoid `--all` for this small journey. Inspect updated,
|
|
279
|
+
unchanged, conflict/preserved and error outcomes even when exit is 0. Preserve
|
|
280
|
+
local edits; do not use automatic `--force`. Recovery commands must retain the
|
|
281
|
+
same runner/course/tool/lang, even if an older report omits that context.
|
|
282
|
+
|
|
283
|
+
Filtered lesson get (`m1l1 --type skills --name ...`) is the supported command
|
|
284
|
+
used throughout this guide. It preserves other previously downloaded artifacts
|
|
285
|
+
through partial writes; normal sync later operates at lesson scope. `--print` is an
|
|
286
|
+
inspection surface, not installation: human TTY output can show only SKILL.md,
|
|
287
|
+
while non-TTY output is JSON. Never redirect it into SKILL.md as a full package.
|
|
288
|
+
|
|
289
|
+
| Item to update | Correct channel |
|
|
290
|
+
|---|---|
|
|
291
|
+
| npx CLI | Choose and verify a new published version, update the runner pin |
|
|
292
|
+
| Global npm CLI | `npm install -g "@przeprogramowani/10x-cli@$CLI_VERSION"` after selecting/verifying the version |
|
|
293
|
+
| Standalone CLI | Replace through its verified release asset procedure, then check the actual executable |
|
|
294
|
+
| Public helper copy | Inspect local changes/ownership; rerun its selected `skills add` command with a deliberate new full source SHA |
|
|
295
|
+
| CLI-owned helper or exercise skill | Repeat its filtered get for a narrow update; `sync` refreshes full recorded lessons after preview |
|
|
296
|
+
|
|
297
|
+
`skills update` is not a substitute for proving an exact selected helper revision;
|
|
298
|
+
it may follow a different ref/latest. npm install includes helper source files in
|
|
299
|
+
the package but does not install them into an agent. CLI sync cannot update the
|
|
300
|
+
CLI executable or a public installer-owned helper.
|
|
301
|
+
|
|
302
|
+
## Diagnostics and evidence boundaries
|
|
303
|
+
|
|
304
|
+
Doctor performs auth/access, API, config, version and configured-tool checks.
|
|
305
|
+
It can return 78 with an outer JSON `status: "ok"`; inspect `data.overall` and all
|
|
306
|
+
`data.checks`. A missing tool directory before first get can be expected. Explain
|
|
307
|
+
only that failure as pre-download state; do not ignore auth/network/permissions.
|
|
308
|
+
The inspected doctor has no `--tool` or `--course` flags and may report a different
|
|
309
|
+
configured profile/course from this journey's explicit command context.
|
|
310
|
+
|
|
311
|
+
Configuration is under `$XDG_CONFIG_HOME/10x-cli` on macOS/Linux when nonempty,
|
|
312
|
+
otherwise `~/.config/10x-cli`. Windows uses `%APPDATA%/10x-cli`, falling back to
|
|
313
|
+
the user's `AppData/Roaming/10x-cli`. Inspect only needed nonsecret preferences;
|
|
314
|
+
do not dump credentials or reset the entire config directory. Auth validity and
|
|
315
|
+
live course access are distinct: inspect `access_checked`/access errors, not only
|
|
316
|
+
the status exit. Login is user-operated and may send email.
|
|
317
|
+
|
|
318
|
+
Full acceptance needs real package/version/integrity/source and endpoint/content
|
|
319
|
+
release evidence, both helper channels, complete support files, and an actual
|
|
320
|
+
agent task transcript for macOS/zsh/Claude Code/PL. Local builds and fixtures can
|
|
321
|
+
check structure/conflicts but cannot prove publication, course unlock or this
|
|
322
|
+
user's entitlement. Other platforms/profiles and EN/PL transformed content need
|
|
323
|
+
their own evidence; do not imply a Windows or translated-content walkthrough ran.
|