Skip to content

Releases: flyingrobots/colorful-language

colorful-language v0.3.0

Choose a tag to compare

@github-actions github-actions released this 28 Jun 01:33
v0.3.0
f97b9f5

colorful-language v0.3.0 — Release Packet

Summary

v0.3.0 ships the core/default path for Goalpost 2, "open-class
disambiguation."
Colorful now distinguishes deterministic noun, verb,
adjective, and adverb roles instead of treating every ordinary content word as
undifferentiated text.

The release keeps the same hexagonal shape: parsing remains structural, closed
class lookup remains a Lexicon, and context-aware open-class decisions live
behind the Annotator port. The default CLI, IR, linter, and LSP surfaces all
use the same ContextualOpenClassAnnotator, so terminal colors, editor semantic
tokens, and colorful.syntax/v1 agree.

Included scope

  • colorful-core adds OpenClassKind::{Noun, Verb, Adjective, Adverb} and
    PosClass::Open(OpenClassKind).
  • colorful-lexicon adds SeedOpenClassLexicon, a deterministic seed table for
    representative nouns, verbs, adjectives, and adverbs.
  • colorful-lexicon adds ContextualOpenClassAnnotator, which refines a small
    ambiguous set (book, record, lead, fast) using local sentence context.
  • The default CLI colorizer, colorful ir, CLI linting path, and
    colorful-lsp semantic-token path use the contextual annotator by default.
  • colorful.syntax/v1 carries optional openClassKind on valid WORD /
    CONTENT tokens, and validation rejects illegal open-class axes.
  • colorful.vocabulary/v1 maps noun, verb, adjective, and adverb axes to
    distinct ANSI, LSP, and graft projections.
  • colorful diagnose --json [FILE] emits a machine-readable token projection
    report for comparing CLI, LSP, Zed, jedit, and other consumers.
  • colorful --version and help output report the package version, so downstream
    tools can enforce a minimum Colorful version.
  • scripts/install-local.sh installs or upgrades the local colorful CLI into
    $HOME/.colorful-language/bin for Graft and jedit development.
  • The VS Code source extension declares Colorful's custom semantic token types,
    enables semantic highlighting for Plain Text and Markdown, maps fallback
    TextMate scopes, and exposes a Colorful Language output channel.
  • The Zed source extension maps Plain Text to the plaintext LSP language
    id and honors lsp.colorful-lsp.binary.path before falling back to PATH.
  • The committed Wesley-generated IR DTOs are recorded as emitted with
    wesley 0.1.1.
  • The release and distribution docs now state the current binary artifact
    boundary precisely: one Linux x86_64-unknown-linux-gnu archive containing
    both colorful and colorful-lsp.
  • Repository policy and maintainer workflow references now live under
    docs/workflows/, keeping docs/topics/ focused on product-facing concepts.
  • .continuum/release.yml declares the repo-local release profile, and
    scripts/release-profile-check.sh, scripts/release-prep.sh, and
    scripts/release-preflight.sh make the release profile, prep, and final tag
    gates executable.
  • The tag-triggered release workflow validates release metadata against the tag
    and skips crate versions that are already available in the crates.io registry
    index during reruns.

Who it's for

  • Writers who want more visible structure in plain English without sending text
    to a model or service.
  • Editor users comparing terminal, Zed, VS Code, jedit, and LSP output against a
    deterministic token report.
  • Tooling authors consuming colorful.syntax/v1 who need explicit open-class
    axes instead of collapsing all ordinary content to one bucket.
  • Downstream tools such as Graft that need stable version probing before
    shelling through colorful ir -.

Version justification

0.3.0 is a pre-1.0 minor release because it changes public API and public
behavior:

  • PosClass is public and now has the new Open(OpenClassKind) variant.
  • colorful.syntax/v1 artifacts may now carry openClassKind.
  • The vocabulary manifest adds public noun, verb, adjective, and adverb
    projection roles.
  • The default CLI/LSP/IR path now emits explicit open-class roles for seeded and
    supported context-disambiguated words.
  • The CLI adds the public diagnose troubleshooting surface.

Pre-1.0 minor versions may carry breaking API changes. This is not a patch
release because downstream code that exhaustively matches PosClass must update
before adopting the 0.3.x line.

Explicit non-claims

  • Not a full grammar parser. Structure is still shallow: paragraphs,
    sentences, words, punctuation, quotes, and presentation roles.
  • Not broad NLP. The open-class path is deterministic, local, and deliberately
    small. It is not WordNet coverage, a statistical tagger, or an ML model.
  • Not a complete Goalpost 2 theme package. Custom token types are emitted,
    but some editor themes still need explicit semantic-token rules.
  • Editor marketplace packages are not published. VS Code and Zed source
    integrations build in CI and can be installed from source; registry publishing
    remains a later packaging task.
  • Graft and jedit are not bundled. Colorful provides the CLI, LSP, and IR
    surfaces they consume; downstream release trains remain separate.
  • Not replayable provenance. colorful.syntax/v1 carries source digests and
    derivation trace seed data, but it does not yet claim echo replay or witnessed
    provenance.
  • No native macOS or Windows binary archives. Release assets remain one Linux
    x86_64-unknown-linux-gnu archive plus crates.io packages.
  • No Homebrew formula. Homebrew packaging remains a separate tracked slice.
  • No autotag workflow yet. Public release tags are still created manually
    from clean, aligned main after scripts/release-preflight.sh passes.
  • Controlled English is not shipped. Contract English, Intent English, and
    proof-carrying execution remain roadmap phases.

Acceptance

  • OpenClassKind and PosClass::Open are covered by colorful-core port
    contract tests.
  • SeedOpenClassLexicon precedence and role coverage are covered by
    colorful-lexicon tests.
  • ContextualOpenClassAnnotator is covered for book, record, lead, and
    fast, including preservation of closed-class, number, proper-noun,
    punctuation, and seed behavior.
  • CLI golden tests cover seeded and contextual open-class output.
  • IR tests cover open-class projection, vocabulary role mapping, and illegal
    openClassKind combinations.
  • LSP tests cover seeded and contextual open-class semantic tokens in the
    manifest-backed legend.
  • Lint tests cover weak-word handling for both Content and Open(_) tokens.
  • colorful diagnose --json is covered for report shape, LSP token type
    projection, the editor smoke fixture, and invalid operand handling.
  • VS Code and Zed source integrations compile in CI.
  • The release profile check runs in CI and in the tag-triggered release
    workflow.
  • The release gate in docs/RELEASING.md passes before
    the release-prep PR is merged.

See verification.md for the release witness.

colorful-language v0.2.1

Choose a tag to compare

@github-actions github-actions released this 24 Jun 16:53
v0.2.1
3ff6a1d

colorful-language v0.2.1 — Release Packet

Summary

v0.2.1 is the public recovery release for Goalpost 1, "prose linter." It
ships the same user-facing scope intended for v0.2.0: deterministic prose
diagnostics in the CLI and LSP, the first public colorful.syntax/v1 surface IR,
the colorful.vocabulary/v1 presentation manifest, and source editor
integrations.

The v0.2.0 tag workflow published colorful-core, colorful-lexicon, and
colorful-parse, then failed while verifying the colorful-ir crate package.
v0.2.1 fixes that package boundary and adds a CI package witness so this class
of release failure is caught before crates are published.

Included scope

  • Everything listed in the v0.2.0 release packet.
  • colorful-ir now embeds package-local copies of the GraphQL and vocabulary
    contract inputs it hashes and validates.
  • scripts/gen-ir.sh refreshes the package-local colorful-ir contract copies
    whenever the Wesley-generated DTOs are regenerated.
  • CI now runs scripts/package-witness.sh, which packages all publishable
    crates, extracts the tarballs, and checks the extracted package workspace.
  • The tag-triggered Release workflow runs the same package witness before
    cargo publish, so future package-tarball failures stop before any crate is
    uploaded.

Version justification

0.2.1 is a pre-1.0 patch release. The intended public API and behavior are the
same as 0.2.0, but the v0.2.0 crates.io publish was incomplete and crate
versions are immutable once uploaded. A patch version is required to publish a
complete, coherent release train.

Explicit non-claims

  • Not a new feature release beyond v0.2.0. The patch fixes packaging and
    release verification.
  • Not a grammar checker. The linter reports deterministic candidates for
    shallow issues. It does not understand author intent or rewrite prose.
  • Not contextual POS disambiguation. Open-class noun/verb/adjective/adverb
    disambiguation remains Goalpost 2.
  • Not replayable provenance. colorful.syntax/v1 carries source digests and
    derivation trace seed data, but it does not yet claim echo replay or witnessed
    provenance.
  • IR consumers remain open. The core IR and graft reference consumer ship in
    this release, but the tracked graft and jedit consumer slices remain open.
  • Editor marketplace packages are not published. VS Code and Zed source
    integrations build in CI and can be installed from source; registry/marketplace
    publishing is a later task.
  • Controlled English is not shipped. Contract English, Intent English, and
    proof-carrying execution remain roadmap phases.

Acceptance

  • The full v0.2.0 acceptance set still applies.
  • colorful-ir package contents are checked by scripts/package-witness.sh.
  • The package witness is part of pull-request CI.
  • The tag-triggered Release workflow runs the package witness before publish.

See verification.md for the release witness.

colorful-language v0.1.0

Choose a tag to compare

@github-actions github-actions released this 21 Jun 22:39
v0.1.0
177ccb2

colorful-language v0.1.0 — Release Packet

Summary

v0.1.0 is the first public release and completes Goalpost 0, "English lights
up."
Open a prose file and the grammar lights up: closed-class words as
keywords, proper nouns, numbers, and quotes accentuated, ordinary content left
clean. It ships two ways — a terminal CLI (colorful) and a Language Server
(colorful-lsp) — over one deterministic classification pipeline. No machine
learning, no network: pure lexing and shallow structure, entirely local.

Included scope

  • A lock-step cargo workspace built as a hexagon, with three load-bearing ports
    in colorful-core: Parser (structure), Lexicon (context-free word
    lookup), and Annotator (context-aware classification).
  • colorful-lexicon — a compile-time perfect-hash set of closed-class function
    words, common contractions (don't, I'm), and negation, implementing
    Lexicon.
  • colorful-parse — a logos lexer and sentence segmenter implementing
    Parser; total over arbitrary input (never panics) and absorbs trailing
    closing quotes/brackets.
  • colorful-cli — the colorful binary: ANSI prose coloring, --no-color /
    NO_COLOR passthrough, -- end-of-options.
  • colorful-lsp — the colorful-lsp binary: a tower-lsp server emitting
    skeleton semantic tokens with correct UTF-16 columns and incremental,
    line-clamped ropey-backed edits.
  • Topic references and executable test plans for parsing, lexicon, and coloring;
    founding architecture decision records (ADR-0001..0003).

Who it's for

  • Writers and note-takers who want IDE-grade structural highlighting for prose
    in any LSP-speaking editor, or instant ANSI coloring in the terminal.
  • Contributors building toward the roadmap: the Parser/Lexicon/Annotator
    seam means later goalposts (a prose linter, noun/verb disambiguation) arrive
    as new adapters, not rewrites.

Version justification

0.1.0 (not 0.0.1) because this is the first coherent, externally meaningful
product increment — a complete goalpost delivering working CLI and LSM/LSP
surfaces — rather than a scaffold. Pre-1.0, the public API (the core ports) is
explicitly unstable and may change in a later minor.

Explicit non-claims

  • Not contextual POS tagging. v0 is closed-class lexical highlighting
    plus a proper-noun heuristic. It does not tell a noun from a verb; ambiguous
    function words (that, for) are assigned a single most-common role.
  • The proper-noun heuristic is approximate. A title-case line with no
    lowercase content word (e.g. I am Groot) can be read as a header and suppress
    a real proper noun. This is the deliberate conservative direction.
  • Published to crates.io under flat names (colorful-core, colorful-cli,
    colorful-lsp, …) owned by flyingrobots. Pre-1.0, so the public API is
    unstable, but the crate versions are permanent (yank-only).
  • Incrementality is v0-simple. Each semanticTokens/full reparses the
    whole document; per-paragraph reparse is a later performance slice.
  • No shipped editor extension or theme yet. Coloring uses standard semantic
    token types so existing themes apply.

Acceptance

  • cargo test --all --locked passes (50 tests across the workspace), including
    golden ANSI output, delta-encoded semantic tokens with UTF-16 surrogate and
    chaotic-Unicode coverage, and a totality/no-panic property test.
  • cargo fmt --check, cargo clippy --locked --all-targets --all-features -- -D warnings, markdownlint-cli2, actionlint, and the whitespace gate
    pass.
  • The end-to-end LSP handshake (initializedidOpen
    semanticTokens/full) returns the [keyword, class, number, string] legend
    and the expected token stream.
  • Goalpost 0 milestone: issues #1#5 closed.

See verification.md for the release witness (commands,
SHAs, URLs).