Code reference detail
release.yml
.github/workflows/release.yml
| Idea | Status | Tags | Summary | Katz |
|---|---|---|---|---|
| check | done | `reqlan check` should run perform the following checks: - ensure all rq [reference] point to real nodes, unless rq ignored with [comment_reference_ignore]. - this tests rqcomments point to real parts of the namespace, that code references exist, and that rq references exists. - report unresolved imports: [check_unresolved_imports]. - report a comment reference with invalid syntax: [code_comment_syntax_errors]. - report a qualified reference whose file is not on disk: [check_qualified_missing_file]. - report a qualified reference whose `.rq` file does not declare the idea: [check_qualified_missing_idea]. - it should really just be a wrapper of the [index] and return the issues ( as a pipe, terminal output, or json ). Issue order: [check_order_by_target]. Sparse wildcards: [check_wildcard_sparse] via flags [check_wildcard_zero] and [check_wildcard_one]. Path globs: [check_glob_patterns]. Skip missing targets: [check_skip_targets] [check_skip_gitignored_targets]. CLI: ["../cli/cli_package.rq".commands]. MCP: ["../extension/agent/skills-and-mcp.rq".mcp_check]. CI: [check_meta_implementation]. Site demo: ["../site/site.rq".broken_links_showcase]. | 1.000 | |
| check_meta_implementation | done | [check] is a step in the sequential GitHub CI job after one workspace build. Pull requests use ["../../.github/workflows/ci.yml"]. Main uses the same workflow through ["../../.github/workflows/release.yml"] ( ["../distribution/distribution.rq".ci_gate] ). The job installs workspace packages once ( `pnpm install --frozen-lockfile` ), asserts `@reqlan/*` resolve under `packages/` ( ["../../scripts/assert-workspace-reqlan.mjs"] ), compiles crates and TypeScript, then runs crate tests, `node packages/cli/bin/cli.js check`, and JS / TS tests against that build. Do not install `@reqlan/cli` or other `@reqlan/*` packages from npm. Platform natives in this workspace come from `packages/analytical-native/` via `packageExtensions` in ["../../pnpm-workspace.yaml"], not from the registry. Do not call a global `reqlan` binary. Do not run a second install before check. GitHub and Azure pass `--skip-gitignored-targets` because gitignored files are not in a CI checkout ( [check_skip_gitignored_targets] ). Azure uses the same workspace CLI after its package build on `ext/v*` tags. Related: [check] [check_skip_targets] [check_skip_gitignored_targets] ["../distribution/distribution.rq".ci_gate] | 0.355 | |
| rust_fmt | done | CI runs `cargo fmt --all` in write mode on all crates ( [rust_port.rust_crate_layout], [rustfmt_toml] ). Format is a chore, not a gate: an unformatted tree does not fail the job. On same-repo pull requests, if fmt changes files, CI commits `chore: cargo fmt` and pushes to the PR branch. Fork PRs and `workflow_call` ( release ) only format the working tree; they do not push. Recursion stops because: ( 1 ) pushes with the default `GITHUB_TOKEN` do not start new workflow runs; ( 2 ) a second run finds no diff after fmt, so it does not commit again. Pull requests and the release workflow share the same sequential CI job ( ["../distribution/distribution.rq".ci_gate] ). Git pre-commit runs the same formatter in write mode so local commits stay formatted. Skip when no crate Rust is staged, format in place and restage, skip merge / rebase, `SKIP_RUST_FMT=1` escape hatch. [workspace_package] `prepare` sets `core.hooksPath` to `.githooks`. | 0.081 | |
| ci_gate | done | Pull-request CI and the main release pipeline share one sequential workflow: ["../../.github/workflows/ci.yml"]. ["./distribution.rq".deployment_flow] must not apply changesets or create tags until that workflow succeeds. Order in one job: install workspace packages, compile crates and TypeScript once, then crate tests, ["../core_analysis/check.rq".check], then JS / TS tests ( ["./distribution.rq".prerelease_tests], ["../core_analysis/check.rq".check_meta_implementation], ["../development/commit.rq".rust_fmt] ). `@reqlan/*` packages come from this git checkout ( `workspace:*` ), not from the npm registry. Platform native packages are linked the same way in this workspace through `packageExtensions` in ["../../pnpm-workspace.yaml"]; they are not listed in git `@reqlan/analytical` `optionalDependencies`. A push to main does not start CI a second time as an independent workflow; ["../../.github/workflows/release.yml"] calls ["../../.github/workflows/ci.yml"] with `workflow_call`. Because ["../../.github/workflows/ci.yml"] declares `permissions.contents: write`, the caller job in ["../../.github/workflows/release.yml"] must grant `contents: write` when invoking it. The version-bump commit ( `chore(release):` ) skips the gate and the version job to prevent a recursive run. | 0.172 | |
| deployment_flow | On push to main, the release workflow first completes ["./distribution.rq".ci_gate]. If pending changesets remain, it then applies them with `pnpm changeset version`. This bumps package. json for each affected package and writes changelogs. ["../../scripts/prepare-native-packages.mjs"] then copies the `@reqlan/analytical` version onto each platform package ( [version_management] ). The workflow commits the result, creates annotated tags for every bumped publishable package, and pushes the commit and tags back to main. Release tags use `site/v{version}`, `ext/v{version}`, `language/v{version}`, `analytical/v{version}`, `cli/v{version}`, and `mcp/v{version}` where `{version}` is the semver from that package's package. json. Deployment is tag-driven for every channel per ["./distribution.rq".release_tagging]; after ["./distribution.rq".ci_gate], the release workflow only versions and tags. GitHub Actions pushes with the default `GITHUB_TOKEN` do not trigger other workflows, so site and npm deploy are also invoked directly from the release workflow. Optional `RELEASE_PAT` allows tag pushes to trigger downstream workflows for manual reruns and external CI. Recursive runs are prevented by skipping the release workflow for release commits. Tag patterns and downstream deploy workflows follow ["./distribution.rq".release_tagging]. The implementation lives in ["../../.github/workflows/release.yml"]. | 0.224 | ||
| prerelease_tests | done | JS / TS package tests ( `pnpm run test:js` ) run after the shared TypeScript compile ( `pnpm run build:tsc` ) from this git checkout. GitHub CI runs them in the same job as crate tests and ["../core_analysis/check.rq".check], after that compile ( ["./distribution.rq".ci_gate] ). This job runs on every pull request and on main before versioning. Host native addon is required because analytical and language tests load `reqlan-napi`. The host release build compiles `reqlan-napi` only. Crate tests compile `reqlan-lsp`. That binary ships in the VSIX, not in this host package. Azure runs `pnpm run test:js` before VSIX publish ( [extension_distribution] ). Local `pnpm run test` runs `test:js` then `test:rust` ( ["../core_analysis/rust_port.rq".rust_crate_layout] ). The implementation lives in ["../../.github/workflows/ci.yml"]; ["../../.github/workflows/release.yml"] calls it with `workflow_call` as part of ["./distribution.rq".ci_gate]. Related: ["../core_analysis/check.rq".check_meta_implementation] | 0.069 | |
| stopgap | Stopgap distribution is at https://marketplace.visualstudio.com/manage/publishers/reqlan | 0.040 |
Reference labels
"../../.github/workflows/release.yml", ../../.github/workflows/release.yml