Repository navigation
Tags
Tags
fix(minimald): notify the user if the session is sigkilled (gominimal… …#1253)
fix(init): use latest pkgs for upstream in min init
fix: loadout name now comes exclusively from the file name stem (gomi… …nimal#1242)
build(deps): bump taiki-e/install-action in the github-actions group Bumps the github-actions group with 1 update: [taiki-e/install-action](https://github.com/taiki-e/install-action). Updates `taiki-e/install-action` from 2.85.10 to 2.85.13 - [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md) - [Commits](taiki-e/install-action@6c6fd71...82cd3e7) --- updated-dependencies: - dependency-name: taiki-e/install-action dependency-version: 2.85.13 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com>
docs: update readme banner to current brand card (gominimal#1206) * docs: update readme banner to current brand card Marketing asked to retire the "now open source" framing from the README hero, so the banner is now the plain Minimal brand card carrying the "Build software you can trust" tagline. The alt text is updated to match the new artwork. The card is encoded as lossless WebP at the existing path, so every reference to docs/public/readme-banner.webp keeps resolving. It is 1280x640 where the previous artwork was 2560x1280; the 2:1 aspect ratio is unchanged, so the width="880" render is unaffected. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * docs: export the banner at 2x for hi-dpi crispness The previous banner shipped 2560x1280; the replacement was a 1x 1280x640 export, which renders soft on retina at the README's width=880. Re-export at 2x and encode lossy WebP q90 (92KB, matching the old file's footprint) instead of lossless (433KB). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P1rSh3SxQHyeraReefJ2n3 --------- Co-authored-by: Karl Godard <karl@minimal.dev> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
fix(common): contain jaq parser panics in jq::parse_file, and wire th… …e fuzz dictionaries (gominimal#1209) * fix(common): contain jaq parser panics in jq::parse_file jaq/hifijson can panic on adversarial JSON — a fuzzer found an Ord total-order violation in std's sort on numbers that overflow f64 to ±inf, aborting the process. parse_file's input is supply-chain-influenced (upstream project data files, via decode::stacks), and the module already contracts to return Err on bad input, never to abort. Wrap both the JSON and TOML parse branches in catch_unwind and convert a caught unwind to JqError. Proven by parse_file_contains_jaq_panic, an ordinary #[test]: the jq_parse_json fuzz target builds panic=abort (libfuzzer-sys installs an abort hook) and so cannot observe the containment. Minimized crash fixture checked in. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * test(fuzz): add libfuzzer dictionaries + jq crash regression seeds Dictionaries for the structured targets — graph wire tag bytes + JSON keys, minimal.toml section/key vocabulary, jq JSON tokens, and the ArgSchema grammar — steer the 584B mutator toward structurally valid inputs instead of rediscovering framing from scratch. Measured overnight: graph_from_bytes edge coverage rose 6.5k → 8.3k with graph.dict live, and arg_schema_parse moved off a multi-billion-exec plateau. Seeds preserve both jq_parse_json Ord-violation crash variants for regression, alongside the checked-in minimized fixture. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * build(fuzz): load the dictionaries libFuzzer would otherwise ignore The dictionaries landed as files nothing read. libFuzzer does not discover a dictionary on its own — it has to be handed `-dict=` — and neither the `just fuzz` recipe nor the docs passed one, so all four were inert. That is the same failure mode as a fuzz target that no longer compiles: it reads as coverage that is not there. Name each dict after the target it feeds (`args.dict` -> `arg_schema_parse.dict`, and so on) so the recipe can find it by convention, and pass `-dict=` when `fuzz/<target>.dict` exists. A target without one is unaffected; a dictionary only biases mutation. Verified: `just fuzz common jq_parse_json` now reports `Dictionary: 14 entries` where it previously reported none. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
feat(min): add experimental command to setup zed connection
PreviousNext