[E00-S01-T09] TypeScript 6.0.3 exact dependency #162

Closed
opened 2026-08-27 00:06:35 +00:00 by kpcto · 8 comments
Owner

Parent story: [E00-S01] Workspace bootstrap (#58)

Intent

Pin TypeScript 6.0.3 as an exact dependency across the workspace.

Acceptance criteria

  • TypeScript 6.0.3 is pinned as an exact dependency
  • workspace packages resolve the exact TypeScript version

Explicitly out of scope

  • Node engine restriction (E00-S01-T08)
  • strict base tsconfig (E00-S01-T10)
  • apps/packages/extensions separation (E00-S01-T11)

Test plan

  • typecheck succeeds with the exact TypeScript version

Rollback note

  • revert the dependency pin in the manifests

Owning stream

platform

Risk quadrant

agent-full

> Parent story: [E00-S01] Workspace bootstrap (#58) ## Intent Pin TypeScript 6.0.3 as an exact dependency across the workspace. ## Acceptance criteria - TypeScript 6.0.3 is pinned as an exact dependency - workspace packages resolve the exact TypeScript version ## Explicitly out of scope - Node engine restriction (E00-S01-T08) - strict base tsconfig (E00-S01-T10) - apps/packages/extensions separation (E00-S01-T11) ## Test plan - typecheck succeeds with the exact TypeScript version ## Rollback note - revert the dependency pin in the manifests ### Owning stream platform ### Risk quadrant agent-full
kpcto added this to the Sprint 0 milestone 2026-08-27 00:06:36 +00:00
kpcto added the
kind
task
status
ready
labels 2026-08-27 00:06:36 +00:00
bot-dispatcher added
status
proposed
and removed
status
ready
kind
task
labels 2026-08-27 00:06:37 +00:00
Member

Auto-reverted by dispatcher: DoR lint: required section "Intent" is empty; required section "Acceptance criteria" is empty; required section "Explicitly out of scope" is empty; required section "Test plan" is empty; required section "Rollback note" is empty; acceptance criteria: no bullet assertions found

status/ready may only be applied by a human maintainer.

> Auto-reverted by dispatcher: DoR lint: required section "Intent" is empty; required section "Acceptance criteria" is empty; required section "Explicitly out of scope" is empty; required section "Test plan" is empty; required section "Rollback note" is empty; acceptance criteria: no bullet assertions found `status/ready` may only be applied by a human maintainer.
kpcto added the
kind
task
label 2026-08-27 21:23:38 +00:00
kpcto added
status
ready
and removed
status
proposed
labels 2026-08-28 09:19:32 +00:00
kpcto added
status
proposed
and removed
status
ready
labels 2026-08-28 09:25:57 +00:00
kpcto added
status
ready
and removed
status
proposed
labels 2026-08-28 09:27:02 +00:00
kpcto added
status
proposed
and removed
status
ready
labels 2026-08-28 09:40:49 +00:00
kpcto added
status
ready
and removed
status
proposed
labels 2026-08-28 09:41:55 +00:00
kpcto added
status
ready
and removed
status
ready
labels 2026-08-28 21:11:13 +00:00
bot-dispatcher added
loop
1
status
in-progress
and removed
status
ready
labels 2026-08-28 21:26:46 +00:00
Member
agent: dispatcher
phase: complete
plan_summary: Dispatch #162: [E00-S01-T09] TypeScript 6.0.3 exact dependency (platform)
```yaml agent: dispatcher phase: complete plan_summary: Dispatch #162: [E00-S01-T09] TypeScript 6.0.3 exact dependency (platform) ```
kpcto added
status
proposed
and removed
status
in-progress
loop
1
labels 2026-08-28 21:27:26 +00:00
kpcto added
status
ready
and removed
status
proposed
labels 2026-08-28 21:30:35 +00:00
Member
agent: implementer
phase: start
issue: 162
branch: feature/162
plan_summary: >-
  Implement [E00-S01-T09] TypeScript 6.0.3 exact dependency: root manifest
  already pins typescript exactly at 6.0.3 (introduced in E00-S01-T05); this
  task makes both acceptance criteria enforceable — add
  tests/typescript-pin.test.mjs (node:test, zero deps) asserting the exact
  manifest pin, the exact lockfile resolution, and per-package tsc resolution
  of 6.0.3; open PR with criterion→test table; keep lockfile untouched.
```yaml agent: implementer phase: start issue: 162 branch: feature/162 plan_summary: >- Implement [E00-S01-T09] TypeScript 6.0.3 exact dependency: root manifest already pins typescript exactly at 6.0.3 (introduced in E00-S01-T05); this task makes both acceptance criteria enforceable — add tests/typescript-pin.test.mjs (node:test, zero deps) asserting the exact manifest pin, the exact lockfile resolution, and per-package tsc resolution of 6.0.3; open PR with criterion→test table; keep lockfile untouched. ```
Member
agent: implementer
phase: complete
issue: 162
branch: feature/162
pr: 376
pr_url: http://gitea:3000/Fabrika/PersonalBlog/pulls/376
ci: green
ci_run: 49
summary: >-
  [E00-S01-T09] TypeScript 6.0.3 exact dependency implemented and enforced.
  Root manifest pins devDependencies.typescript exactly at 6.0.3 (pre-existing
  from E00-S01-T05); added tests/typescript-pin.test.mjs (node:test, zero deps,
  lockfile untouched) covering both acceptance criteria: exact manifest pin +
  exact lockfile resolution (specifier/version 6.0.3, single typescript@6.0.3
  entry) and per-package resolution (pnpm exec tsc --version reports
  Version 6.0.3 in apps/server, packages/core, extensions/example). Verified on
  Node 24.20.0: frozen install unchanged, typecheck 3/3, suite 24/24, mutation
  probes (^6.0.3, lockfile 6.0.2, shadowed tsc) all fail as designed. PR #376
  open with criterion→test table; CI green (run 49, job 61 success).
```yaml agent: implementer phase: complete issue: 162 branch: feature/162 pr: 376 pr_url: http://gitea:3000/Fabrika/PersonalBlog/pulls/376 ci: green ci_run: 49 summary: >- [E00-S01-T09] TypeScript 6.0.3 exact dependency implemented and enforced. Root manifest pins devDependencies.typescript exactly at 6.0.3 (pre-existing from E00-S01-T05); added tests/typescript-pin.test.mjs (node:test, zero deps, lockfile untouched) covering both acceptance criteria: exact manifest pin + exact lockfile resolution (specifier/version 6.0.3, single typescript@6.0.3 entry) and per-package resolution (pnpm exec tsc --version reports Version 6.0.3 in apps/server, packages/core, extensions/example). Verified on Node 24.20.0: frozen install unchanged, typecheck 3/3, suite 24/24, mutation probes (^6.0.3, lockfile 6.0.2, shadowed tsc) all fail as designed. PR #376 open with criterion→test table; CI green (run 49, job 61 success). ```
Member
agent: reviewer
verdict: approve
```yaml agent: reviewer verdict: approve ```
bot-dispatcher added
status
review
and removed
status
ready
kind
task
labels 2026-08-28 21:35:56 +00:00
Member
agent: reviewer
verdict: approve
```yaml agent: reviewer verdict: approve ```
Member
agent: tester
phase: start
issue: 162
pr: 376
plan_summary: >-
  Independently probe PR #376 (feature/162) for [E00-S01-T09] TypeScript 6.0.3
  exact dependency. Verify both acceptance criteria (exact manifest pin at
  6.0.3; workspace packages resolve exact 6.0.3) without editing the
  implementer's tests. Will inspect manifests/lockfile/tests, run typecheck and
  resolution probes, review CI runs, and post an evidence comment with CI links.
```yaml agent: tester phase: start issue: 162 pr: 376 plan_summary: >- Independently probe PR #376 (feature/162) for [E00-S01-T09] TypeScript 6.0.3 exact dependency. Verify both acceptance criteria (exact manifest pin at 6.0.3; workspace packages resolve exact 6.0.3) without editing the implementer's tests. Will inspect manifests/lockfile/tests, run typecheck and resolution probes, review CI runs, and post an evidence comment with CI links. ```
Member
agent: tester
phase: complete
issue: 162
pr: 376
pr_url: http://gitea:3000/Fabrika/PersonalBlog/pulls/376
verdict: pass
ci:
  run: http://gitea:3000/Fabrika/PersonalBlog/actions/runs/49
  job: http://gitea:3000/Fabrika/PersonalBlog/actions/runs/49/jobs/61
  conclusion: success
summary: >-
  Independent probe PASSES both acceptance criteria. Did not edit the
  implementer's tests or any tracked file (working tree clean; probes run in
  the working copy and a throwaway /tmp clone only).

evidence:
  exact_pin:
    - "root package.json devDependencies.typescript == \"6.0.3\" (bare MAJOR.MINOR.PATCH, no ^/~/>= range)"
    - "pnpm-lock.yaml root importer: specifier 6.0.3 / version 6.0.3; exactly one packages entry (typescript@6.0.3)"
    - "mutation probe: pin -> \"^6.0.3\" makes 'root package.json pins typescript as an exact dependency' fail (exit 1), so the test is non-vacuous"
  workspace_resolution:
    - "pnpm exec tsc --version -> 'Version 6.0.3' in . / apps/server / packages/core / extensions/example (4/4)"
    - "pnpm why typescript -> exactly 1 version (typescript@6.0.3, root devDependencies); single node_modules/.pnpm/typescript@6.0.3 entry"
  suite:
    - "tests/typescript-pin.test.mjs: 3/3 pass"
    - "full suite node --test \"tests/**/*.test.mjs\": 24/24 pass"
    - "pnpm typecheck (-r, 3 packages): pass"
  environment:
    node: v24.20.0
    pnpm: 11.23.0
    install: "pnpm install --frozen-lockfile succeeded, lockfile unchanged"

  note: >-
    The CI workflow (.gitea/workflows/ci.yml) only runs the frozen-lockfile
    install + `pnpm -r list --depth -1` (no test/typecheck step; suite wiring
    is E00-S05 by design, consistent with T05-T08). Green CI (run 49) therefore
    does not itself exercise the new test or typecheck — those were run and
    passed independently here, so the acceptance criteria are verified rather
    than assumed.
```yaml agent: tester phase: complete issue: 162 pr: 376 pr_url: http://gitea:3000/Fabrika/PersonalBlog/pulls/376 verdict: pass ci: run: http://gitea:3000/Fabrika/PersonalBlog/actions/runs/49 job: http://gitea:3000/Fabrika/PersonalBlog/actions/runs/49/jobs/61 conclusion: success summary: >- Independent probe PASSES both acceptance criteria. Did not edit the implementer's tests or any tracked file (working tree clean; probes run in the working copy and a throwaway /tmp clone only). evidence: exact_pin: - "root package.json devDependencies.typescript == \"6.0.3\" (bare MAJOR.MINOR.PATCH, no ^/~/>= range)" - "pnpm-lock.yaml root importer: specifier 6.0.3 / version 6.0.3; exactly one packages entry (typescript@6.0.3)" - "mutation probe: pin -> \"^6.0.3\" makes 'root package.json pins typescript as an exact dependency' fail (exit 1), so the test is non-vacuous" workspace_resolution: - "pnpm exec tsc --version -> 'Version 6.0.3' in . / apps/server / packages/core / extensions/example (4/4)" - "pnpm why typescript -> exactly 1 version (typescript@6.0.3, root devDependencies); single node_modules/.pnpm/typescript@6.0.3 entry" suite: - "tests/typescript-pin.test.mjs: 3/3 pass" - "full suite node --test \"tests/**/*.test.mjs\": 24/24 pass" - "pnpm typecheck (-r, 3 packages): pass" environment: node: v24.20.0 pnpm: 11.23.0 install: "pnpm install --frozen-lockfile succeeded, lockfile unchanged" note: >- The CI workflow (.gitea/workflows/ci.yml) only runs the frozen-lockfile install + `pnpm -r list --depth -1` (no test/typecheck step; suite wiring is E00-S05 by design, consistent with T05-T08). Green CI (run 49) therefore does not itself exercise the new test or typecheck — those were run and passed independently here, so the acceptance criteria are verified rather than assumed. ```
kpcto closed this issue 2026-08-28 21:41:47 +00:00
kpcto added
kind
task
status
done
and removed
status
review
labels 2026-08-28 21:41:47 +00:00
Sign in to join this conversation.