22 Commits

Author SHA1 Message Date
przeprogramowani 43d6a69088 fix(release): wait for npm metadata before verifying publish (#50)
* fix(release): wait for npm metadata before verifying publish

Direct publish-npm verified immediately after npm accepted 1.22.1,
while registry metadata still lacked dist.tarball. Poll until
integrity exists, then keep the strict pack/gitHead compare. When
the version is already on npm and matches the pack from cli_sha,
skip publish and only complete tag/Release.

* chore(release): prepare v1.22.2

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-09-16 18:22:01 +02:00
przeprogramowani 56484f5856 feat(skills): guide CLI setup, filtered downloads and safe updates (#41)
* feat(skills): guide CLI setup, named downloads and updates

* fix(skills): bound npm inventory checks on cold Windows runners

* fix(skills): align launch guide with 10xCards PRD journey

* fix(tests): make helper checks portable on Windows

* test(helpers): trace Windows npm pack startup

* fix(helpers): allow bounded Windows npm startup time

* fix(helpers): use released lesson-scoped skill filters

Correct setup/guide examples and sync ownership to match CLI 1.21.
Exercise the documented preview/write commands through CAC and the
real partial writer, preserving all three trees and the PRD schema.

Refs: https://github.com/przeprogramowani/10x-cli/pull/41

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-09-14 10:51:38 +02:00
przeprogramowani bbb88ba295 fix(release): peel existing tags and create the GitHub Release in publish-npm (#44)
The tag step compared the tag ref's object SHA with the source commit, so an
existing annotated tag at the correct commit failed the run (v1.21.0). Peel
the tag to its commit before comparing, and add an idempotent step that
creates the GitHub Release with the verified npm tarball, which was missing
for 1.21.0 and had to be created by hand.

Co-authored-by: Claude <noreply@anthropic.com>
2026-09-14 09:05:08 +02:00
przeprogramowani d6bdd35842 ci(release): direct npm publication of an exact tested SHA (#43)
Dispatch-only workflow that packs, smoke-installs and publishes an exact
source SHA once with the existing NPM_TOKEN, verifies the actual registry
bytes and gitHead afterwards, and tags the source. It carries no Toolkit
receipt, lease or coordinator contract.

Co-authored-by: Claude <noreply@anthropic.com>
2026-09-14 08:38:05 +02:00
przeprogramowani 2cc510fe69 fix(release): unblock verified CLI 1.21.0 preparation 2026-09-14 08:21:48 +02:00
przeprogramowani b2150bae85 fix(release): preserve exact commit evidence through squash and publication 2026-09-13 20:57:09 +02:00
przeprogramowani b0c789af70 feat: enable v4 course selection and protected first-week sync (#38)
* docs(10xdevs4-cli-access): record membership gates and bootstrap context (p1)

Add canonical access plan, accepted decisions and supporting context.
Record phase 1 verification, Toolkit revision and remaining evidence gaps.

* docs(10xdevs4-cli-access): record course access gates and scoped review (p2)

Update canonical Progress, change status, evidence and implementation review.
Record Toolkit revisions, inherited typecheck limitation and phase 3 prerequisites.

* docs(10xdevs4-cli-access): persist reviewed revisions and phase 3 boundary

Record final reviewed Toolkit and CLI context revisions.
Persist Progress attribution and unresolved W04/W05/W08 prerequisites.
Keep phases 3–6, phase 7 and Manual criteria open.

* docs(10xdevs4-cli-access): record squash-safe source prerequisite

Record PR #30, verified gates, permanent-pin lessons and the remaining merge dependency.
Keep phase 3 and all manual rollout criteria pending.

* docs(10xdevs4-cli-access): record source prerequisite review

Record independent review of PR #30 and verified CI evidence.
Keep the master pin and delivery phase completion pending.

* docs(10xdevs4-cli-access): distinguish candidate checks from final master pins

Record passing pre-merge v4 checks and defer workflow suspension.
Keep the final v3 maintenance pin dependent on the resulting master SHA.

* feat: prepare v4 course delivery and protected project sync

Capture the reviewed implementation and manual rehearsal for draft PR review. Master source prerequisites, full clean verification and coordinated Windows CI remain open; production rollout is separate.

* fix: keep paid CI evidence private and converge cumulative sync

* docs: record merged source prerequisite and passing clean gate

* fix: preserve generated API type line endings on Windows

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-09-13 09:24:16 +02:00
“mkczarkowski” f663dc25c0 fix(ci): include version and github-release in Slack failure check
The notify-slack job checked only check, e2e, and publish-npm but
missed version and github-release from its needs list. A failure in
either would show a green notification and skip #alerting.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 15:25:43 +02:00
“mkczarkowski” 54d7e6228d feat(ci): add debugging links to #alerting notifications
Adds context row with quick links: commit diff, full logs, npm package.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 19:22:20 +02:00
“mkczarkowski” b2d78557de style(ci): redesign Slack notifications with emojis and block formatting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 19:06:02 +02:00
“mkczarkowski” 3d00d01fce feat(ci): split Slack to #observability + #alerting channels
- notify-slack: success → #observability, failure → both channels

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 18:50:26 +02:00
“mkczarkowski” 819248c081 feat(ci): add Slack notifications for pipeline results
- notify-slack job posts pipeline summary to #ci-deploys on master push
- Shows: tests, e2e, version, npm publish, GitHub release status

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 18:34:23 +02:00
“mkczarkowski” e95e9a0c78 feat(e2e): CI workflow — e2e jobs and Windows smoke tests (p5)
- .github/workflows/ci.yml: add e2e + e2e-windows jobs with Resend secrets,
  extend check-windows with build:binary + smoke tests
- docs/reference/platform-support.md: update CI testing table to match reality
- context/changes/e2e/plan.md: mark phase 5 automated steps complete

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 15:16:12 +02:00
“mkczarkowski” e7b64c628b feat(windows-compatibility): PowerShell CI and platform-support docs
Switch Windows CI job to native PowerShell with Get-ChildItem for test
file enumeration (no glob expansion needed). Add platform-support
reference doc for learners.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 15:44:46 +02:00
“mkczarkowski” f1c5daaa79 fix(ci): use bash shell for Windows CI job
PowerShell does not expand glob patterns — use Git Bash (available on
all GitHub Actions Windows runners) so tests/*.test.ts resolves.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 15:14:18 +02:00
“mkczarkowski” d4b4b5ab2e fix(ci): use ./ prefix for bun test glob on Windows
PowerShell does not expand bare globs — bun test needs ./tests/*.test.ts
to resolve the path on Windows runners.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 15:12:50 +02:00
“mkczarkowski” 1178bc13a8 feat(windows-compatibility): cross-platform test fixes and Windows CI (p3)
Replace macOS-specific patterns in tests (hardcoded /tmp, mktemp -d,
rm -rf, 2>/dev/null) with Node APIs (os.tmpdir, mkdtempSync, rmSync,
stdio pipes). Add platform guards for POSIX mode-bit assertions. Add
check-windows CI job. Document npx zero-install and Node 20+ requirement.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 15:10:11 +02:00
“mkczarkowski” 1594ebe8e7 refactor(ci): consolidate release jobs into CI workflow
Move version bump, binary builds, npm publish, and GitHub release from a
separate workflow_run-triggered release.yml into ci.yml gated behind
`github.ref == 'refs/heads/master'`. All jobs now appear in a single
workflow run on the commit in the GitHub UI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 20:01:14 +02:00
“mkczarkowski” 92d24ac4b4 fix(ci): add missing conventional-recommended-bump dependency and improve release error handling
The release workflow silently skipped every release because auto-version.mjs
imported conventional-recommended-bump which was never in devDependencies.
The error handler treated the import crash as "no bump needed." Now the
dependency is installed and the bump step distinguishes expected skip (exit 1)
from real crashes (any other non-zero exit).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 19:53:37 +02:00
“mkczarkowski” 40e5b37b4f feat(ci): add release workflow with npm publish, cross-platform binaries, and GitHub Releases
- Auto-version from conventional commits (auto-version.mjs) with git-diff
  gate: only releases when src/ or package.json actually changed
- 5-platform binary builds (linux x64/arm64, macOS x64/arm64, windows)
- npm publish with auth token wiring
- GitHub Release with auto-generated notes and binary attachments
- Smoke tests for package tarball and auto-version script
- Hardened: top-level permissions: {}, env bindings (no expression injection),
  persist-credentials only where needed for git push

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 20:09:00 +02:00
“mkczarkowski” fc64cea7d9 security: harden supply chain, add request timeout, and document threat model
- Pin GitHub Actions by full SHA to prevent tag-swapping attacks
- Add .npmrc with ignore-scripts and 7-day minimum-release-age quarantine
- Add 30s default request timeout for API calls without caller signal
- Remove unused `open` dependency to reduce attack surface
- Strip OpenAPI source URL from generated types header
- Add SECURITY.md documenting threat model (T1–T8), review history, and
  design decisions
- Add persist-credentials: false to checkout action

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 16:50:03 +02:00
“mkczarkowski” b42b119050 feat:bootstrap the tool 2026-04-11 11:18:40 +02:00