Skip to content

bugfix - fix v0.3 release blockers (#542, #610, #612)#613

Merged
dannymeijer merged 4 commits into
mainfrom
v03-release-blockers-542-610-612
May 20, 2026
Merged

bugfix - fix v0.3 release blockers (#542, #610, #612)#613
dannymeijer merged 4 commits into
mainfrom
v03-release-blockers-542-610-612

Conversation

@dannymeijer
Copy link
Copy Markdown
Contributor

@dannymeijer dannymeijer commented May 20, 2026

Summary

This PR fixes the final v0.3 release-hardening blockers and follows up on the docs review. The compiler/tooling fixes keep incan test helper packaging, Rust interop call-shape metadata, stdlib runtime dependencies, and collection error paths aligned with the intended v0.3 behavior. The docs work splits oversized stdlib reference pages into Divio-shaped reference/how-to/explanation pages, restores legacy RFCs to the modern metadata shape, removes manually short-wrapped Markdown prose across project docs, and updates the generated language reference source so CI no longer rewrites generated prose back into short lines.

Type of change

  • Bug fix
  • New feature
  • Refactor / maintenance
  • Documentation
  • CI / tooling
  • RFC (adds/updates docs/RFCs/*)

Area(s)

Select the primary areas touched (used for review routing; labels are managed separately):

  • Incan Language (syntax/semantics)
  • Compiler (frontend/backend/codegen)
  • Tooling (CLI/formatter/test runner)
  • Editor integration (LSP/VS Code extension)
  • Runtime / Core crates (stdlib/core/derive)
  • Documentation

Key details

  • User-facing behavior: incan test includes the stdlib helper modules needed for lowered Result.map_err test code, and Rust interop no longer over-borrows by-value generic decode arguments when the selected method comes from an extension trait. Collection missing-key and invalid-count paths now raise the intended canonical key/value errors. The v0.3 docs are easier to reason about: release notes separate features from fixes, stdlib reference pages stay API-focused, and task/background material lives in how-to/explanation pages.
  • Internals: the test module graph reuses the same implicit-helper surface detection as build/check/run; extension-trait Rust method metadata is validated into call-site parameter-shape facts; std.regex dependency ownership stays with source imports and registry metadata rather than the always-present runtime crate. The generated language-reference writer now emits natural Markdown paragraphs so the generated-reference CI guard agrees with the docs prose policy.
  • Risks: this touches a wide docs surface, including RFC metadata/prose and generated reference output. Review should focus on accidental Markdown structure changes, especially tables, admonitions, and RFC metadata fields. The Rust interop call-shape change affects method calls where metadata is available; the fallback remains permissive when metadata is absent.

Testing / verification

  • make test / cargo test
  • make examples (if relevant)
  • incan fmt --check . (if relevant)
  • Manual verification described below

Manual verification notes:

  • make -C /Users/danny/Development/encero/incan pre-commit passed after the final docs/generator commit: formatting, rustdoc coverage, 2438 nextest tests, 5 filtered cargo tests, clippy, cargo-deny, smoke-test-fast, examples checked 57 / ran 34 / failed 0, benchmark smoke builds checked 9 / failed 0.
  • make -C workspaces/docs-site docs-build passed after the RFC frontmatter and stdlib docs split.
  • cargo run -p incan_core --bin generate_lang_reference passed, and a shasum before/after idempotence check confirmed regenerated language.md and feature_inventory.md stay stable.
  • Project Markdown short-prose scan over tracked and newly added *.md, excluding .agents, __research__, workspaces/docs-site/.venv, generated site output, and vendored license files, found 0 adjacent short-prose candidates.
  • git diff --check passed.

Docs impact

  • No docs changes needed
  • Docs updated
  • Docs follow Divio intent (tutorial/how-to/reference/explanation) where applicable

If docs updated:

  • Link(s): workspaces/docs-site/docs/release_notes/0_3.md, workspaces/docs-site/docs/language/reference/stdlib/graph.md, workspaces/docs-site/docs/language/how-to/working_with_graphs.md, workspaces/docs-site/docs/language/explanation/graph_model.md, workspaces/docs-site/docs/language/how-to/hashing_data.md, workspaces/docs-site/docs/language/how-to/logging.md, workspaces/docs-site/docs/language/how-to/regular_expressions.md, plus broad Markdown prose unwraps across project docs.

RFC lifecycle note: this PR touches RFC Markdown for metadata modernization and prose reflow only; it does not implement or advance any active RFC lifecycle state.

Checklist

  • I kept public docs user-focused and moved internals to contributing docs when appropriate
  • I avoided duplicating canonical install/run instructions in multiple places
  • I added/updated tests where it materially reduces regressions

Closes #542
Closes #610
Closes #612

@incan-triage-bot incan-triage-bot Bot added documentation Improvements or additions to documentation incan compiler Suggestions, features, or bugs related to the Compiler (frontend/backend/codegen) runtime / core crates Suggestions, features, or bugs related to the `incan-core`, `incan-stdlib`, 'incan-derive` crates tooling Suggestions, features, or bugs related to the Tooling (CLI/formatter/test runner) labels May 20, 2026
@dannymeijer dannymeijer self-assigned this May 20, 2026
@dannymeijer dannymeijer added this to the 0.3 Release milestone May 20, 2026
@dannymeijer dannymeijer marked this pull request as ready for review May 20, 2026 20:22
@dannymeijer dannymeijer marked this pull request as draft May 20, 2026 20:22
@dannymeijer dannymeijer marked this pull request as ready for review May 20, 2026 21:29
@dannymeijer dannymeijer merged commit d1dfeec into main May 20, 2026
33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation incan compiler Suggestions, features, or bugs related to the Compiler (frontend/backend/codegen) runtime / core crates Suggestions, features, or bugs related to the `incan-core`, `incan-stdlib`, 'incan-derive` crates tooling Suggestions, features, or bugs related to the Tooling (CLI/formatter/test runner)

Projects

None yet

1 participant