Repository navigation
What's Changed
- fix(ci): stabilize and harden workflows by @doesdev in #22
- Update CLAUDE.md by @doesdev in #23
- Update CLAUDE to specify fetch by @doesdev in #24
- Add session command, deprecate parallel by @doesdev in #25
- fix(cli): accept --stdio flag on lsp subcommand by @doesdev in #26
- Update session command by @doesdev in #27
- feat(codegen): source-mirroring output filenames per spec §20.6.1 by @doesdev in #28
- Ensure clippy runs on sessions by @doesdev in #29
- Update specs for targets and test outputs by @doesdev in #30
- Update instructions around documentation by @doesdev in #31
- Update specs around target formatting by @doesdev in #32
- docs(d0): inventory current state across docs, spec, and impl by @doesdev in #33
- Clarify Phase B items in inventory by @doesdev in #34
- docs(d1): spec alignment assessment — 28 matrix rows classified by @doesdev in #35
- Update spec in prep for single source by @doesdev in #47
- chore(spec): K04 consolidation + changelog cleanup by @doesdev in #48
- docs(d1): refresh spec alignment against post-K04 consolidated spec by @doesdev in #49
- docs(d2): language reference covering all surface concepts by @doesdev in #50
- Update changelogs and spec by @doesdev in #51
- Add spec changelog by @doesdev in #69
- Add agentic support by @doesdev in #70
- chore: establish main-integration convention for the orchestrator by @doesdev in #71
- tracking: stage Block 1 startup assessment by @doesdev in #72
- spec: reconcile §1.5 Paradigm Configuration to v1 reality (Block 1 H3) by @doesdev in #73
- test(effects): v1 effect-handler conformance fixtures (Block 1 H2) by @doesdev in #74
- fix(cli): centralize bock check exit-code handling by @doesdev in #75
- feat(cli): align
bock checkflags to spec §20.1.1 (--only/--brief) by @doesdev in #76 - tracking: Block 1 digest + queue update (Block 1 complete) by @doesdev in #77
- chore(website): bump astro, @astrojs/cloudflare, wrangler by @doesdev in #78
- chore(vscode): bump deps incl. ESLint 10, @types/node 25, marked 18 by @doesdev in #80
- chore(deps): bump tokio, tar, serde_json (patch) + dashmap 5→6 (major) by @doesdev in #79
- chore(ci): PR-based changelog workflow + bump 7 GitHub Actions by @doesdev in #81
- chore(ci): replace CI changelog-write with generate-don't-push generator by @doesdev in #82
- tracking: chore-sweep digest + CLAUDE.md path fix by @doesdev in #83
- Add Cloudflare Workers configuration by @cloudflare-workers-and-pages[bot] in #21
- website: stop Cloudflare deploy failing on auto-provisioned SESSION KV namespace by @doesdev in #85
- ci: remove all third-party Actions (inline mdBook/rustup, actions/cache, gh CLI) to satisfy allowlist by @doesdev in #84
- tracking: #21 + CI allowlist fix + Cloudflare deploy fix by @doesdev in #86
- feat(check): add --strict flag and wire context validation (O1+O2) by @doesdev in #87
- tracking: O1/O2 resolved (#87) + session pause by @doesdev in #88
- chore: clear website devalue high-sev advisory; align context-audit §15.3 comment by @doesdev in #89
- docs: D3 — tooling reference in sync with the v1 CLI surface by @doesdev in #90
- tracking: quick cleanups (#89) + D3 (#90) landed by @doesdev in #91
- spec: reconcile §20.1 CLI and §20.7/Appendix A target tables to v1 reality by @doesdev in #92
- tracking: §20.1 reconciliation (#92) + stdlib audit by @doesdev in #93
- design: centralized in-repo planning hub (tracking consolidation) by @doesdev in #94
- plan: tracking consolidation implementation by @doesdev in #95
- tracking: seed hub + v1-stdlib decision + formalize Design authority (PR 1 of 3) by @doesdev in #96
- tracking: generate ROADMAP.md + STATUS.md from the hub; CI --check by @doesdev in #97
- tracking: retire old trackers + boundaries (PR 3 of 3) by @doesdev in #98
- tracking: consolidation block-completion digest by @doesdev in #99
- spec: reconcile Design Q1/Q2/Q3 + fix @performance no-parens literal acceptance by @doesdev in #100
- tracking: reconcile Design Q1/Q2/Q3 decisions (post-#100) by @doesdev in #101
- tracking: stdlib pilot plan + DQ6-DQ8 escalation by @doesdev in #102
- feat(stdlib): embedded core stdlib loader + core.error pilot by @doesdev in #103
- feat: add core.compare stdlib module (Ordering, Comparable, Equatable) by @doesdev in #104
- tracking: stdlib foundation + 2 modules; fan-out paused on bridge by @doesdev in #105
- spec: apply 2026-05-30 stdlib-batch design decisions (Q1b–Q4) by @doesdev in #106
- tracking: reconcile stdlib Design batch (DQ6-DQ9); Q-bridge dispatched by @doesdev in #107
- feat(types): compiler-provided canonical trait conformances for primitives (Q-bridge) by @doesdev in #108
- tracking: Q-bridge landed (#108); R1 unblocked; pre-PR gate adds cargo doc by @doesdev in #109
- feat: parameterized-trait resolution + core.convert stdlib module by @doesdev in #110
- tracking: core.convert + parameterized traits (#110); 3/11 by @doesdev in #111
- tracking: codegen-correctness workstream (DV9); core.iter paused; Q-fconf PR1 by @doesdev in #112
- chore: remove incidentally-committed example build artifacts by @doesdev in #113
- feat(conformance): cross-target execution harness (Q-fconf PR1) by @doesdev in #114
- fix: execute produced Rust binary by workdir path (Windows portability) by @doesdev in #115
- ci: use Swatinem/rust-cache@v2 (faster cache save) by @doesdev in #116
- spec: align stale CLI cross-refs to the §20.1 surface (Q-20.1-xref, follow-up to #92) by @doesdev in #117
- test(vscode): add headless Mocha + ts-node unit-test setup by @doesdev in #118
- fix(fmt): stop bock fmt from emitting invalid Bock (Q-fmt-bock) by @doesdev in #119
- feat: inject the §18.2 prelude (core symbols resolve without
use) by @doesdev in #120 - fix: codegen/interpreter defects exposed by the stdlib build (DV9) by @doesdev in #121
- tracking: codegen-correctness workstream complete + 5-way fan-out (#114-#121) by @doesdev in #122
- chore: run vscode npm test in CI (Q-ci-vscode-test) by @doesdev in #123
- fix: TS codegen self-methods + Optional typing (Q-ts-codegen) by @doesdev in #124
- chore: changelog date hygiene + fix 0515 non-parsing example (Q-cl-dates, Q-cl-0515) by @doesdev in #125
- fix: Go + Python Optional payload codegen (Q-py-optional + Go typed-payload) by @doesdev in #126
- fix: Go Optional match-in-loop codegen (method-call scrutinee + loop label) — unblocks core.iter by @doesdev in #127
- tracking: core.iter codegen-residue block — #123-127 merged; core.iter blocked on Q-list-codegen + DQ16 by @doesdev in #128
- feat: read-only List built-in method codegen, all 5 targets (Q-list-codegen) — unblocks core.iter by @doesdev in #129
- tracking: codegen-completeness milestone established (audit + 3 operator decisions) by @doesdev in #130
- fix: tail-position statement-if in loop bodies, all 5 targets (codegen-completeness P0-C / DV15) by @doesdev in #131
- feat: cross-module use via single-file bundling, all 5 targets (codegen-completeness P0-A / DV13) by @doesdev in #132
- feat: user-defined enum codegen via variant registry, all 5 targets (codegen-completeness P0-B / DV14) by @doesdev in #133
- tracking: Phase 0 of codegen-completeness milestone complete (#131/#132/#133) by @doesdev in #134
- fix: Python lambdas + generics + typing imports (codegen-completeness P1) by @doesdev in #135
- fix: Go/TS/Rust generics codegen + Go lambda return type (codegen-completeness P1) by @doesdev in #136
- feat: checker→codegen receiver-type annotation + primitive-bridge dispatch (codegen-completeness P1) by @doesdev in #137
- fix: Result runtime + Optional/Result methods, all 5 targets (codegen-completeness P1) by @doesdev in #138
- tracking: Phase 1 of codegen-completeness milestone complete (#135-#138) by @doesdev in #139
- feat: trait codegen — self-typing + default methods + bounded dispatch, all 5 (codegen-completeness P2) by @doesdev in #140
- fix: substitute Self in impl method signatures (Q-self-subst, codegen-completeness P2) by @doesdev in #141
- fix: match completeness — guards/or/nested/tuple + Go binding, all 5 (codegen-completeness P2) by @doesdev in #142
- tracking: Phase 2 of codegen-completeness milestone complete (#140-#142) by @doesdev in #143
- fix: Go collection element typing + record-spread + Self-in-plain-impl (codegen-completeness P3) by @doesdev in #144
- fix: Map/Set method dispatch + literals + range() helper, all 5 (codegen-completeness P3) by @doesdev in #145
- tracking: Phase 3 of codegen-completeness milestone complete (#144/#145) by @doesdev in #146
- chore: clear diagnostic for tuple .N indexing (v1.x-deferred) — suggest destructuring by @doesdev in #147
- fix: TS Self-in-plain-impl + expr-position match typing (codegen-completeness P4) by @doesdev in #148
- fix: generic container/trait codegen residue (TS extends, Rust T:Clone, Go generic list-literal + concrete Optional-payload) — unblocks core.iter by @doesdev in #149
- tracking: night pause — P4-codegen done (#147/#148/#149); core.iter unblocked by @doesdev in #150
- feat(stdlib): core.iter R1 — module + for→Iterable desugar (js/ts/python; rust/go fast-follow) by @doesdev in #151
- fix(codegen): Rust + Go generic-combinator/trait codegen for core.iter — 5/5 by @doesdev in #152
- tracking: core.iter R1 complete on all 5 (#151/#152) + DQ24 by @doesdev in #153
- tracking: scope core.effect (DQ25) + feasibility probe verdict + DV16 by @doesdev in #154
- fix(effects): bare-op forms (§10.2/§10.4) + execute the effect suite ×5 by @doesdev in #155
- tracking: effect foundation hardened (#155) + DV16 resolved + DQ25 update by @doesdev in #156
- feat(stdlib): core.effect v1 (Log effect) + parser/interpreter fixes — 5/11 by @doesdev in #157
- tracking: core.effect shipped — 5/11, R1 complete (#157) + DQ25 decided + daily digest by @doesdev in #158
- feat(stdlib): core.option — Optional[T] utilities (R2) by @doesdev in #159
- test(stdlib): core.time conformance floor — Duration §18.3.1 (R2) by @doesdev in #160
- feat(stdlib): core.result — Result[T,E] utilities (R2, js/ts/python/rust; Go fast-follow) by @doesdev in #161
- fix(codegen): R2 — String methods + keyword escaping + un-red option + deterministic bundling by @doesdev in #162
- feat(stdlib): core.string — manipulation utilities + StringBuilder (R2, ×5) by @doesdev in #163
- fix(build): deterministic dep-graph topological order (kills nondeterminism at the source) by @doesdev in #164
- fix(codegen/go): generic free-fns over Optional/Result on Go — option+result to ×5 by @doesdev in #165
- tracking: R2 stdlib complete ×5 — 9/11 modules; cycle audit + pause by @doesdev in #166
- fix(cli): bock test loads embedded core stdlib — test files can use core.* by @doesdev in #167
- fix(codegen): generic List[T]-over-user-types (Go) + sealed-trait bounds on primitives (×5) — unblocks R3 by @doesdev in #168
- feat(stdlib): core.test — free + fluent assertions (R3, ×5, bock-test integrated) by @doesdev in #169
- feat(stdlib): core.collections — SortedSet + utilities (R3, ×5) — v1 stdlib COMPLETE 11/11 by @doesdev in #170
- tracking: ★ v1 stdlib COMPLETE (11/11 ×5) — R3 done, D4 unblocked by @doesdev in #171
- docs(reference): v1 standard-library reference (D4) — 11 core modules + core.time by @doesdev in #172
- tracking: D4 stdlib reference docs done (#172); D5 unblocked by @doesdev in #173
- chore(conformance): force fresh bock rebuild in harness; §18.3.1 Int64→Int spec note by @doesdev in #175
- docs: contributor docs buildout (D5) by @doesdev in #174
- fix(codegen): user-record methods win over built-in List lowering (Q-r2-c) + pin Q-go-list-literal / Q-r2-b / Q-ts-generic-impl (×5) by @doesdev in #176
- tracking: D5 DONE (#174) + quality-sweep Wave 1 (#175/#176); ItemB unblocked by @doesdev in #177
- docs(spec)+tracking: ItemB S0 — per-module output (DQ19 resolved) + config tables → v1 by @doesdev in #181
- feat(codegen): per-module native Python output + harness multi-file run (S1 pilot) by @doesdev in #182
- tracking: MS-projectmode S1 DONE (#182) — python per-module native tree; S2 next by @doesdev in #183
- feat(codegen): per-module native JS + TS output (S2) by @doesdev in #184
- feat(codegen): per-module native Rust + Go output + minimal manifest (S3) by @doesdev in #185
- refactor(codegen): retire dead single-file bundling path — per-module is the sole output (S4) by @doesdev in #186
- tracking: MS-projectmode S1–S4 DONE → DV13 CLOSED; S5 next by @doesdev in #187
- chore(deps-dev): bump eslint from 10.4.0 to 10.4.1 in /extensions/vscode by @dependabot[bot] in #178
- chore(deps-dev): bump typescript-eslint from 8.60.0 to 8.60.1 in /extensions/vscode by @dependabot[bot] in #179
- chore(deps-dev): bump wrangler from 4.95.0 to 4.96.0 in /website by @dependabot[bot] in #180
- feat(build): project-mode scaffolding framework + bock.project config-table parsing (S5) by @doesdev in #188
- tracking: MS-projectmode S5 DONE (#188); dependabot cleared; S6 next by @doesdev in #189
- feat(build): project-mode output architecture — manifests via scaffolder, source mode bare (S6a, DV18) by @doesdev in #190
- feat(build): enrich per-target project-mode scaffolders + fix go core.error (S6b) by @doesdev in #191
- tracking: MS-projectmode S6 DONE (#190/#191) → DV18 CLOSED; S7 next by @doesdev in #192
- fix(codegen): field/method name collision on js/ts/python — core.error.message() compiles on all 5 by @doesdev in #193
- feat(build): transpile @test to per-target test frameworks + formatter-clean gate (S7) by @doesdev in #194
- ItemB S8: close MS-projectmode (★ ItemB COMPLETE) + getting-started build-path fix by @doesdev in #195
- chore(ci): provision js/ts/python test+format tooling — run-verify transpiled tests on all 5 (Q-ci-projectmode-tooling) by @doesdev in #196
- tracking: Q-ci-projectmode-tooling DONE (#196); reframe formatter gap → Q-formatter-clean-tree by @doesdev in #197
- fix(codegen): gofmt-clean go output via post-emit gofmt -w (§20.6.2 baseline) by @doesdev in #198
- tracking: examples-compile audit (ts/rust/go 0/6) reframes v1.0 readiness; rust/go formatter DONE (#198) by @doesdev in #199
- chore: revert accidental example build artifacts leaked in #199 by @doesdev in #200
- tracking: night-pause digest 2026-06-03 by @doesdev in #201
- chore: gitignore examples/**/build/; drop stale hello-world build snapshot by @doesdev in #202
- tracking: examples-exec audit complete (20×5) — true matrix + clusters; v1.0 scope decided by @doesdev in #203
- chore(ci): informational examples-exec gate (Q-examples-exec-coverage) by @doesdev in #204
- fix(codegen): List functional methods, list concat, const/enum naming (clusters A+B+C, all 5) by @doesdev in #205
- tracking: MS-examples-hardening kickoff — gate (#204) + clusters A+B+C (#205) landed by @doesdev in #206
- fix(types): type-check impl/class method bodies (Q-impl-body-typecheck) by @doesdev in #207
- tracking: Q-impl-body-typecheck DONE (#207) — method bodies now type-checked by @doesdev in #208
- fix(codegen/go): box enum variants into sealed-trait interface at return sites (Q-go-enum-return-boxing) by @doesdev in #209
- fix(codegen/rust): cargo-workspace isolation, move/borrow, String/num methods (L+F+G) by @doesdev in #210
- chore(ci): ratchet examples-exec baseline after A/B/C + rust L/F/G by @doesdev in #211
- tracking: rust L/F/G (#210) + go E (#209) DONE — rust examples 2->8; go still 1 by @doesdev in #212
- fix(codegen): §18.3 String/numeric method lowering on js/ts/python/go (Q-string-num-jstspygo) by @doesdev in #213
- fix(test): ASCII-output string_num_methods fixture (Windows-Python green) by @doesdev in #214
- tracking: Q-string-num-jstspygo done (#213) + windows-python incident/hotfix (#214); go all-5 bar by @doesdev in #215
- fix(codegen/rust): guard-let bindings, mut-param, list-pattern (ownership-demo) by @doesdev in #216
- fix(codegen/js): effect-export, dup-default, let-rebind, reserved-word (examples) by @doesdev in #217
- fix(codegen/py): circular-import, utf-8 stdout, match-exprpos, todo-expr (examples) by @doesdev in #218
- fix(codegen/ts): match-exprpos, Char type, Result-unwrap/typed-lambdas, const-reassign (examples) by @doesdev in #219
- fix(codegen/go): Result-payload assert, match-exprpos, int-width, unused-var, Char-display (examples) by @doesdev in #220
- chore(ci): ratchet examples-exec baseline after the 5-backend fan-out by @doesdev in #221
- tracking: 5-way parallel fan-out (#216–#220) — examples leapt; shared core scoped by @doesdev in #222
- tracking: session-end digest 2026-06-03 — examples-hardening climbing; shared core next by @doesdev in #223
- fix(codegen): shared temp-hoist desugar for value-position diverging control flow (Q-exprpos-shared-desugar) by @doesdev in #224
- tracking: #224 Q-exprpos-shared-desugar landed; per-backend fan-out next by @doesdev in #225
- fix(codegen/js):
?propagation + guard-let/tail-position control-flow (examples) by @doesdev in #226 - fix(codegen/ts): guard-let binding, let-shadow tracking,
?propagation (examples) by @doesdev in #227 - fix(codegen/py): guard-let tail-loop, nested-block let-shadow,
?propagation (examples) by @doesdev in #228 - fix(codegen/go): guard-let, let-shadow rebind,
?propagation (examples) by @doesdev in #229 - tracking: per-backend fan-out #226-#229 landed; shared-lowering nearly complete by @doesdev in #230
- fix(codegen): list/range match patterns route uniformly via the shared recogniser (Q-list-range-pattern-shared) by @doesdev in #231
- tracking: #231 list/range patterns landed — shared-lowering phase complete by @doesdev in #232
- fix(codegen/go):
**operator, value-position match binding, list-method element typing (examples) by @doesdev in #233 - fix(codegen/ts): narrow match payload bindings via Extract<> (task-api, chat-protocol) by @doesdev in #234
- fix(codegen/rust): match String scrutinee against &str literals via .as_str() (pattern-lab) by @doesdev in #236
- fix(codegen/py): value-position match binds plain-record/lambda-arm payloads (pattern-lab) by @doesdev in #235
- chore: ratchet examples-exec baseline to 63/100 + tracking (residual fan-out #233-#236) by @doesdev in #237
- fix(codegen/go): typed empty-list/map-field/method-return + compose + unused-loopvar (examples) by @doesdev in #238
- fix(codegen/rust): loop move-reuse, Char/pow/closure-return/collection-Display (examples) by @doesdev in #239
- fix(codegen/ts): loop/statement tails emit statements not
return+ glob enum-variant import (examples) by @doesdev in #240 - fix(codegen/py): value-position match-arm leading statements + lambda-callee parens (examples) by @doesdev in #241
- fix(test): isolate rust conformance fixtures with a private CARGO_TARGET_DIR (Q-conformance-target-race) by @doesdev in #242
- fix(codegen/js): loop/statement-position tails emit statements not
return(fizzbuzz) by @doesdev in #243 - fix(codegen/py): loop body tails emit statements not
return(fizzbuzz/inventory) by @doesdev in #244 - fix(codegen): collect glob-imported enum variants in the shared import collector (inventory-system) by @doesdev in #245
- fix(codegen/go): nested tuple-in-Result pattern + tuple-let + typed-lambda-return (pattern-lab, type-zoo) by @doesdev in #246
- fix(codegen/rust): field/self-field move-reuse + nested-compose callee parens (todo-list, chat-protocol, data-pipeline) by @doesdev in #247
- chore(ci): informational performance-regression gate (Q-perf-gate-ci) by @doesdev in #248
- fix(codegen/js,ts): construct
classliterals withnew T(...)(Q-class-codegen) by @doesdev in #249 - fix(codegen/go): class method casing/recursion +
Fn()->Void(react-components) by @doesdev in #251 - fix(codegen/rust): capturing-
Fntype-alias + value-move clone (react-components, type-zoo) by @doesdev in #252 - fix(codegen/py): attach class impl/trait methods + trait ordering +
$$-escape (react-components) by @doesdev in #250 - tracking: examples-greening + class-codegen wind-down (63→84/100); escalate DQ27/DQ28 by @doesdev in #253
- spec: add design choices for DQ27 & DQ28 by @doesdev in #254
- chore(tools): gate examples-exec TS row on
tsc --noEmit(Q-examples-ts-tsc-gate) by @doesdev in #255 - fix(codegen/go): method-generics free-fn lowering + chained-combinator & nested-compose typing (DQ28) by @doesdev in #256
- fix(codegen/js,ts): parenthesize arrow callee for nested compose
f >> g >> hby @doesdev in #257 - fix(types): single method namespace per type (DQ27) — coherence check + react-components fix + spec §6.4/6.5/6.7 by @doesdev in #258
- fix(codegen/py): statement-position match must not return out of the function (chat-protocol) by @doesdev in #259
- fix(codegen/ts): emit
.tsimport specifiers + per-projecttscvalidation (chat-protocol) by @doesdev in #260 - tracking: DQ27/DQ28 decided + examples 84→92/100 (honest re-record); file 4 found bugs by @doesdev in #261
- fix(codegen/ts,py,go): strict-mode eval/arguments, py builtin-shadow, go map-field elem (examples-greening) by @doesdev in #262
- tracking+spec: todo() §18.2 contract + guessing-game stub-showcase recat + DQ20 closed (examples 100/100 non-red) by @doesdev in #263
- feat(codegen,types): truncate-toward-zero int div + dividend-sign modulo + lowercase Bool (DQ23) by @doesdev in #264
- docs: refresh root README by @doesdev in #265
- tracking: DQ23 decided (Option A truncating-Int) + DONE (#264) by @doesdev in #266
- docs(readme): add GitHub Discussions to Community by @doesdev in #268
- feat(collections): List push/append → mut-self Void mutators; reject Map.contains (DQ18/DQ22) by @doesdev in #269
- spec+tracking: stdlib-surface ratification batch (DQ10-15/24, DV17); Design board clear by @doesdev in #270
- fix(codegen): py value-position match drops stmt arm; rust mixed str-literal/bind match by @doesdev in #271
- fix(interp): persist mut-self mutations + user convert dispatch (Q-iter-interp-mutself, Q-interp-enum) by @doesdev in #273
- fix(types): unknown-method-on-concrete soundness + bare-import reject + trait-default resolution by @doesdev in #274
- ci: blocking stdlib fmt-check gate + flip examples-exec to blocking by @doesdev in #272
- tracking: reconcile backlog fan-out wave 1 (#271–#274) by @doesdev in #275
- chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in #277
- chore(deps): bump chrono from 0.4.44 to 0.4.45 by @dependabot[bot] in #278
- chore(deps-dev): bump @types/node from 25.9.1 to 25.9.2 in /extensions/vscode by @dependabot[bot] in #279
- chore(deps): bump @astrojs/cloudflare from 13.6.0 to 13.6.1 in /website by @dependabot[bot] in #280
- chore(deps): bump actions/setup-go from 5.5.0 to 6.4.0 by @dependabot[bot] in #276
- chore(deps): bump marked from 18.0.4 to 18.0.5 in /extensions/vscode by @dependabot[bot] in #281
- chore(deps-dev): bump wrangler from 4.96.0 to 4.98.0 in /website by @dependabot[bot] in #284
- chore(deps-dev): bump @vscode/vsce from 3.9.1 to 3.9.2 in /extensions/vscode by @dependabot[bot] in #283
- chore(deps): bump astro from 6.4.2 to 6.4.4 in /website by @dependabot[bot] in #282
- fix(types): enforce cross-module where-bounds + seed cross-module From/Into impl-table by @doesdev in #286
- fix(codegen): lower derived blanket .into() to Target.from(self) so it executes on all targets by @doesdev in #288
- fix(fmt): suppress cf-arm trailing comma + char-boundary line wrap; fold iter/collections into stdlib-fmt gate by @doesdev in #287
- tracking: reconcile dependabot wave (#276–#284) + wave-2 backlog fan-out (#286–#288) by @doesdev in #289
- chore(vscode): migrate to vscode-languageclient v10 (supersedes #285) by @doesdev in #290
- fix(codegen): ts/go re-emit trait constraints for imported bounded generic fns (completes #286 x5) by @doesdev in #291
- fix(types): infer method-level type params at call sites (b.map(dbl) for Box[T].map[U]) by @doesdev in #292
- tracking: reconcile wave-3 backlog fan-out (#290/#291/#292) + #285 closure by @doesdev in #293
- fix(convert): primitive associated conversions (Int.from/Float.from/Int.try_from) check + execute x5 by @doesdev in #294
- tracking: reconcile Q-prim-assoc complete (#294) by @doesdev in #295
- fix(types): gate comparison operators on user types behind impl Comparable (§18.5) by @doesdev in #296
- fix(codegen): route Clock time ops (now/sleep/elapsed) through the installed handler by @doesdev in #297
- tracking: reconcile pair fan-out — Q-clock-handler-routing (#297) + Q-list-operator-gating-user-types (#296) by @doesdev in #298
- fix(codegen): lower user-type comparison operators through compare() (x5) by @doesdev in #299
- fix(codegen): add tokio to the rust scaffold so bare-host sleep compiles by @doesdev in #301
- tracking: reconcile follow-up wave (#299 + #301) + DQ29 escalation by @doesdev in #302
- fix(codegen): drop enum-variant items from rust use-imports (E0432) by @doesdev in #303
- fix(fmt): preserve doc-comment continuation-line indentation by @doesdev in #304
- tracking: reconcile night wind-down (#303 + #304) + Q-py-enum-variant-import by @doesdev in #305
- fix(codegen): drop enum-variant leaf names from python use-imports (Q-py-enum-variant-import) by @doesdev in #306
- tracking: reconcile #306 done + escalate DQ30 (List mutator signatures) by @doesdev in #307
- fix(vscode): make activation resilient to a broken binary / corrupt vocab + scope hover trust by @doesdev in #308
- fix(vscode): validate decision records, debounce effect auto-render, incremental annotation scan by @doesdev in #309
- test(vscode): cover effect-analyzer parser helpers (matchDelimiter, findEnclosingFunction, …) by @doesdev in #310
- test(vscode): cover spec-panel pure helpers (normalizeRef, highlightBock, parseSections, …) by @doesdev in #311
- tracking: reconcile VS Code extension hardening waves 1+2 (#308-#311) by @doesdev in #312
- fix(vscode): parse the effect clause on same-line signatures + string-aware binding split by @doesdev in #313
- refactor(vscode): share truncate, extract hover render helpers + cover them by @doesdev in #314
- refactor(vscode): unify CSP nonce, drop dead webview base, extract effect-flow helpers by @doesdev in #315
- docs(vscode): fix broken sync-script ref, stale paths/versions, add 0.1.1 changelog by @doesdev in #316
- feat(vscode): drop dead mermaid dep, workspace binary auto-detect, restart-LSP command, snippets by @doesdev in #317
- fix(vscode): remove workspace-local LSP binary auto-discovery (RCE) by @doesdev in #318
- tracking: reconcile VS Code extension hardening complete (#313-#318) by @doesdev in #319
- feat(vscode): annotations per-file insight + count badges by @doesdev in #320
- feat(vscode): richer hover — operators, builtin methods, effect operations by @doesdev in #321
- feat(vscode): spec-panel search ranking + keyboard navigation by @doesdev in #322
- feat(vscode): decisions filtering, sorting, jump-to-source by @doesdev in #323
- feat(lsp): find-references, rename, and document symbols by @doesdev in #324
- feat(cli):
bock inspect air— AIR tree dump (pretty + --json) by @doesdev in #325 - feat(vscode): target preview + strictness status-bar picker by @doesdev in #326
- feat(vscode): quick fixes for common Bock diagnostics by @doesdev in #327
- feat(vscode): semantic tokens (client-side, vocab + effect aware) by @doesdev in #328
- feat(vscode): AIR tree viewer by @doesdev in #329
- feat(lsp): inlay hints for inferred let-binding types by @doesdev in #330
- docs: reconcile extension README/CHANGELOG + LSP docs with the #320–#330 feature wave by @doesdev in #331
- tracking: reconcile v1.1 editor-feature wave complete (#320–#331) by @doesdev in #332
- tracking: daily digest 2026-06-09 — session close by @doesdev in #333
- Add milestone design audit by @doesdev in #334
- tracking: design-audit triage (#334 → hub) + R2/R4 spec touches by @doesdev in #335
- Diagnostics-as-agent-affordance audit + standing review criterion (Q-diagnostics-agent-audit) by @doesdev in #336
- Add synthetic-corpus pipeline: conformance fixtures -> verified training records (Q-synthetic-corpus) by @doesdev in #337
- Add tools/examples-matrix: first real tool written in Bock (Q-dogfood-tool / audit R8) by @doesdev in #338
- Add versioned model-familiarity context pack (Q-context-pack, audit R3(1)/R-A) by @doesdev in #339
- tracking: design-audit follow-up wave (#336-#339) + defect harvest triage by @doesdev in #340
- fix(codegen/go): escape % in Sprintf formats, type split() chains, let locals shadow helper renames (Q-go dogfood harvest) by @doesdev in #343
- fix(codegen/py): statement if/else + guard early-return truncation; keyword-escaped record fields (Q-python-ifelse-truncation, Q-python-keyword-record-fields) by @doesdev in #344
- Fix three reference-interpreter parity bugs (?-propagation, primitive eq, cross-file bock test) by @doesdev in #342
- Wire every conformance category's diagnostic directives through bock check (Q-conformance-directive-wiring, Q-conformance-fixture-repairs) by @doesdev in #341
- Fix diagnostics quality: E4001 expected/found, effect-violation codes (E6005/E6006), NO_COLOR/TTY-aware rendering by @doesdev in #345
- tracking: harvest fix wave (#341-#345) — all 7 HIGHs closed; follow-ups filed by @doesdev in #346
- Implement DQ29 structural Equatable conformance + ==/!= operator gating by @doesdev in #347
- tracking: DQ29 ruled + implemented (#347) — hub reconcile; DQ31/DV24 filed by @doesdev in #348
- Implement DQ30 in-place List mutator contracts (pop/remove_at/insert/reverse + set) by @doesdev in #349
- tracking: DQ30 ruled + implemented (#349) — Design gate clear by @doesdev in #350
- tracking+spec: 2026-06-15 escalation walk-through — Bucket A ratified, DQ31 ruled, v1.0 hardening scoped by @doesdev in #351
- Fix Go tail-position record match emitting unreachable panic after arm by @doesdev in #352
- Fix TS variant-constructed let typing: honor declared union annotation (Q-ts-variant-constructed-let-typing) by @doesdev in #353
- interp+core: 5 interpreter/bock-core cross-target parity fixes (R11 oracle) by @doesdev in #354
- Enforce bracket-form generic bounds
[T: Trait]at call sites (Q-bracket-bounds-unenforced) by @doesdev in #355 - Diagnostics-credibility batch: catalog completeness + 5 diagnostic fixes (R-A) by @doesdev in #356
- Implement DQ31: container equality defers to element conformance (§18.5) by @doesdev in #357
- tracking: v1.0-hardening Wave 1+2 complete (#352–#357) — reconcile + FOUND/OPEN by @doesdev in #358
- fix(conformance): correct opgate_eq_list_fn_element column (23:23 → 23:20) — #356↔#357 renderer drift by @doesdev in #367
- fix(rust-codegen): clone reused bindings in 4 reuse positions (Q-rust-clone-insertion-gaps + Q-rust-callarg-borrow-mismatch) by @doesdev in #370
- fix(js/ts-codegen): fresh let-scope per sibling handling block (Q-js-handling-let-redeclaration) by @doesdev in #371
- fix(ts-scaffold): bare print(...) passes tsc --noEmit via vendored node-globals shim (Q-ts-print-scaffold-types) by @doesdev in #373
- chore(tooling): repoint sync-vocab.sh to single-file spec (Q-sync-vocab-script-stale) by @doesdev in #368
- chore(context-pack): reconcile to v0.1.1 against #342/#345 (Q-context-pack-reconcile) by @doesdev in #369
- test(conformance): execute every // EXPECT: output fixture in all categories (Q-exec-output-directive-wiring) by @doesdev in #372
- tracking: v1.0-hardening Wave 3 + chores complete (#368–#373) — reconcile + FOUND/OPEN by @doesdev in #374
- fix(codegen): Wave B trait-dispatch + per-backend FOUNDs — 7 items by @doesdev in #376
- chore(examples-matrix): revert dodges for now-fixed bugs (#343/#344/#370) (Q-examples-matrix-undodge) by @doesdev in #375
- tracking: v1.0-hardening Wave B complete (#375–#376) — reconcile by @doesdev in #377
- chore(deps): bump regex from 1.12.3 to 1.12.4 by @dependabot[bot] in #364
- chore(deps-dev): bump @types/node from 25.9.2 to 25.9.3 in /extensions/vscode by @dependabot[bot] in #366
- chore(deps): bump astro from 6.4.4 to 6.4.7 in /website by @dependabot[bot] in #362
- chore(deps-dev): bump typescript-eslint from 8.60.1 to 8.61.1 in /extensions/vscode by @dependabot[bot] in #363
- chore(deps): bump @astrojs/cloudflare from 13.6.1 to 13.7.0 in /website by @dependabot[bot] in #360
- chore(deps-dev): bump wrangler from 4.98.0 to 4.100.0 in /website by @dependabot[bot] in #365
- chore(deps-dev): bump esbuild from 0.20.2 to 0.28.1 in /extensions/vscode by @dependabot[bot] in #359
- chore(deps-dev): bump eslint from 10.4.1 to 10.5.0 in /extensions/vscode by @dependabot[bot] in #361
- tracking: 2026-06-15 daily digest — Waves 3+B complete + dependabot drained by @doesdev in #378
- spec+tracking: §1.1 equivalence amendment + land OQ1/R1 positioning resolution by @doesdev in #379
- fix(ts-codegen): consistent generic arity for user enums (Q-ts-generic-enum-codegen) by @doesdev in #385
- fix(py/go-codegen): structural == on Optional/Result wrappers (Q-py-go-wrapper-structural-eq) by @doesdev in #386
- fix(bock-cli): skip unreadable subdirs during project discovery (Q-bocktest-discovery-readdir-unwrap) by @doesdev in #383
- chore: Wave-C cleanups — dead Bool.compare reg + stale doc/fixture prose by @doesdev in #384
- ci: assets-drift guard (vocab.json + spec asset ↔ compiler/spec) by @doesdev in #381
- feat(examples): textkit SDK-vendor demo — verified equivalence ×5 (Q-sdk-vendor-demo) by @doesdev in #382
- tracking: handoffs naming sweep + DQ32/DQ33 + Wave-C/SDK-demo dispatch by @doesdev in #380
- tracking: Wave C + SDK demo complete (#381–#386) — reconcile + session digest by @doesdev in #387
- fix(test-codegen): include enum-variant symbols in transpiled @test imports (Q-transpiled-test-enum-variant-import) by @doesdev in #388
- chore(diagnostics): split 5 duplicated-meaning error codes (Q-error-code-renumbering) by @doesdev in #389
- fix(go-codegen): generic user enums emit valid Go (Q-go-generic-enum-codegen) by @doesdev in #390
- chore(tooling): sync-vocab.sh honors CARGO_TARGET_DIR (Q-sync-vocab-cargo-target-dir) by @doesdev in #391
- tracking: v1.0-hardening engineer tail drained (#388–#391) — reconcile by @doesdev in #392
- chore(deps): bump anyhow from 1.0.102 to 1.0.103 by @dependabot[bot] in #405
- chore(deps-dev): bump @types/node from 25.9.3 to 26.0.1 in /extensions/vscode by @dependabot[bot] in #408
- chore(deps): bump astro from 6.4.7 to 7.0.3 in /website by @dependabot[bot] in #407
- chore(deps): bump actions/setup-go from 6.4.0 to 6.5.0 by @dependabot[bot] in #399
- chore(deps-dev): bump typescript-eslint from 8.61.1 to 8.62.0 in /extensions/vscode by @dependabot[bot] in #403
- chore(deps): bump vscode-languageclient from 10.0.0 to 10.0.1 in /extensions/vscode by @dependabot[bot] in #400
- chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in #393
- chore(deps-dev): bump wrangler from 4.100.0 to 4.106.0 in /website by @dependabot[bot] in #404
- chore(deps): bump @astrojs/cloudflare from 13.7.0 to 14.1.0 in /website by @dependabot[bot] in #401
- chore(deps): bump actions/cache from 5.0.5 to 6.1.0 by @dependabot[bot] in #398
- chore(deps): bump rustyline from 14.0.0 to 18.0.1 by @dependabot[bot] in #402
- chore(deps-dev): bump @types/vscode from 1.120.0 to 1.125.0 in /extensions/vscode by @dependabot[bot] in #395
- chore(deps-dev): bump eslint from 10.5.0 to 10.6.0 in /extensions/vscode by @dependabot[bot] in #406
- release: v1.0.0 by @doesdev in #409
- fix(website): revert astro 7 / cloudflare 14 majors; build docs+website on PRs by @doesdev in #410
- tracking: fold #409/#410 into the v1.0.0 changelog section by @doesdev in #411
- tracking: wedge copy locked+rendered (#412 held); get-started re-verification done by @doesdev in #413
- feat(website): render the locked /use-cases wedge page by @doesdev in #412
- fix(release): aarch64 cross toolchain + pin @types/vscode to the engines floor by @doesdev in #414
- tracking: fold #412/#414 into the v1.0.0 changelog section by @doesdev in #415
- docs: drop pre-1.0 status claims for the v1.0 release by @doesdev in #422
New Contributors
- @doesdev made their first contribution in #22
- @cloudflare-workers-and-pages[bot] made their first contribution in #21
- @dependabot[bot] made their first contribution in #178
Full Changelog: https://github.com/bock-lang/bock/commits/v1.0.0