[E00-S01-T10] Strict base tsconfig committed #163

Closed
opened 2026-08-27 00:06:36 +00:00 by kpcto · 6 comments
Owner

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

Intent

Commit a strict base tsconfig so all packages compile under strict settings.

Acceptance criteria

  • strict base tsconfig is committed
  • all packages compile under the strict base config

Explicitly out of scope

  • TypeScript exact dependency (E00-S01-T09)
  • apps/packages/extensions separation (E00-S01-T11)
  • root build/test/typecheck commands (E00-S01-T12)

Test plan

  • compile every workspace package under strict settings

Rollback note

  • revert the strict tsconfig commit

Owning stream

platform

Risk quadrant

agent-full

> Parent story: [E00-S01] Workspace bootstrap (#58) ## Intent Commit a strict base tsconfig so all packages compile under strict settings. ## Acceptance criteria - strict base tsconfig is committed - all packages compile under the strict base config ## Explicitly out of scope - TypeScript exact dependency (E00-S01-T09) - apps/packages/extensions separation (E00-S01-T11) - root build/test/typecheck commands (E00-S01-T12) ## Test plan - compile every workspace package under strict settings ## Rollback note - revert the strict tsconfig commit ### 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
status
ready
kind
task
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:38 +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:24:08 +00:00
kpcto added
status
ready
and removed
status
proposed
labels 2026-08-28 21:41:47 +00:00
bot-dispatcher added
loop
1
status
in-progress
and removed
status
ready
labels 2026-08-28 21:41:57 +00:00
Member
agent: dispatcher
phase: complete
plan_summary: Dispatch #163: [E00-S01-T10] Strict base tsconfig committed (platform)
```yaml agent: dispatcher phase: complete plan_summary: Dispatch #163: [E00-S01-T10] Strict base tsconfig committed (platform) ```
Member
agent: implementer
phase: start
issue: 163
branch: feature/163
plan_summary: >-
  Implement [E00-S01-T10] Strict base tsconfig committed. The strict
  tsconfig.base.json and per-package extends already exist on main from
  E00-S01-T02; this task makes both acceptance criteria enforceable and
  verifiable — add tests/strict-tsconfig.test.mjs (node:test, zero deps,
  lockfile untouched) asserting (1) the committed base config carries the
  strict family (strict + noUncheckedIndexedAccess + exactOptionalPropertyTypes
  + noImplicitOverride + useUnknownInCatchVariables + verbatimModuleSyntax,
  NodeNext, ES2023) and every workspace package tsconfig.json extends it, and
  (2) every workspace package compiles under the strict base config
  (tsc -p <pkg>/tsconfig.json --noEmit). Verify on Node 24.20.0 with the
  pinned TypeScript 6.0.3: frozen install, suite, and per-package compile;
  open PR with criterion→test table; keep lockfile untouched.
```yaml agent: implementer phase: start issue: 163 branch: feature/163 plan_summary: >- Implement [E00-S01-T10] Strict base tsconfig committed. The strict tsconfig.base.json and per-package extends already exist on main from E00-S01-T02; this task makes both acceptance criteria enforceable and verifiable — add tests/strict-tsconfig.test.mjs (node:test, zero deps, lockfile untouched) asserting (1) the committed base config carries the strict family (strict + noUncheckedIndexedAccess + exactOptionalPropertyTypes + noImplicitOverride + useUnknownInCatchVariables + verbatimModuleSyntax, NodeNext, ES2023) and every workspace package tsconfig.json extends it, and (2) every workspace package compiles under the strict base config (tsc -p <pkg>/tsconfig.json --noEmit). Verify on Node 24.20.0 with the pinned TypeScript 6.0.3: frozen install, suite, and per-package compile; open PR with criterion→test table; keep lockfile untouched. ```
Member

agent: reviewer

agent: reviewer
Member

agent: reviewer
verdict: approve

The pull request adds a comprehensive test suite to verify that the strict TypeScript configuration is properly enforced. The implementation is well-designed and thoroughly covers all acceptance criteria:

  1. It verifies that tsconfig.base.json is committed with all required strict flags enabled
  2. It confirms that all workspace packages extend the base configuration
  3. It ensures that all packages compile under the strict configuration
  4. It includes a non-vacuous probe to verify that the strict flags are actually enforced

The tests are well-structured, use appropriate error handling, and follow good testing practices. The implementation is focused and stays within the defined scope.

agent: reviewer verdict: approve The pull request adds a comprehensive test suite to verify that the strict TypeScript configuration is properly enforced. The implementation is well-designed and thoroughly covers all acceptance criteria: 1. It verifies that `tsconfig.base.json` is committed with all required strict flags enabled 2. It confirms that all workspace packages extend the base configuration 3. It ensures that all packages compile under the strict configuration 4. It includes a non-vacuous probe to verify that the strict flags are actually enforced The tests are well-structured, use appropriate error handling, and follow good testing practices. The implementation is focused and stays within the defined scope.
bot-dispatcher added
status
review
and removed
status
in-progress
loop
1
kind
task
labels 2026-08-28 21:48:54 +00:00
Member
agent: implementer
phase: complete
issue: 163
branch: feature/163
pr: 377
pr_url: http://gitea:3000/Fabrika/PersonalBlog/pulls/377
ci: green
ci_run: 51
summary: >-
  [E00-S01-T10] Strict base tsconfig committed implemented and enforced. The
  strict tsconfig.base.json (ES2023 / NodeNext / strict family) and the
  per-package extends already existed on main from E00-S01-T02; this task
  makes both acceptance criteria enforceable — added
  tests/strict-tsconfig.test.mjs (node:test, zero deps, lockfile untouched)
  covering: (1) committed base config carries the strict family (strict +
  noUncheckedIndexedAccess + exactOptionalPropertyTypes + noImplicitOverride +
  useUnknownInCatchVariables + verbatimModuleSyntax, NodeNext, ES2023) and
  every workspace package tsconfig.json extends ../../tsconfig.base.json; (2)
  every package compiles under the strict base config (tsc -p <pkg> --noEmit,
  workspace-resolved TS 6.0.3, 3/3); plus a non-vacuous probe proving the
  strict family fires (TS7006/TS2532/TS2375/TS4114/TS18046). Verified on Node
  24.20.0: frozen install unchanged, typecheck 3/3, build 3/3, full suite
  28/28 (4/4 new). PR #377 open with criterion→test table; CI green (run 51,
  job 63 success).
```yaml agent: implementer phase: complete issue: 163 branch: feature/163 pr: 377 pr_url: http://gitea:3000/Fabrika/PersonalBlog/pulls/377 ci: green ci_run: 51 summary: >- [E00-S01-T10] Strict base tsconfig committed implemented and enforced. The strict tsconfig.base.json (ES2023 / NodeNext / strict family) and the per-package extends already existed on main from E00-S01-T02; this task makes both acceptance criteria enforceable — added tests/strict-tsconfig.test.mjs (node:test, zero deps, lockfile untouched) covering: (1) committed base config carries the strict family (strict + noUncheckedIndexedAccess + exactOptionalPropertyTypes + noImplicitOverride + useUnknownInCatchVariables + verbatimModuleSyntax, NodeNext, ES2023) and every workspace package tsconfig.json extends ../../tsconfig.base.json; (2) every package compiles under the strict base config (tsc -p <pkg> --noEmit, workspace-resolved TS 6.0.3, 3/3); plus a non-vacuous probe proving the strict family fires (TS7006/TS2532/TS2375/TS4114/TS18046). Verified on Node 24.20.0: frozen install unchanged, typecheck 3/3, build 3/3, full suite 28/28 (4/4 new). PR #377 open with criterion→test table; CI green (run 51, job 63 success). ```
kpcto closed this issue 2026-08-28 22:37:40 +00:00
kpcto added
kind
task
status
done
and removed
status
review
labels 2026-08-28 22:37:40 +00:00
Sign in to join this conversation.