boxer

module
v0.0.0-...-06bbdd4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 12, 2026 License: MIT

README

boxer

Go Reference Go Report Card

Maturity

Alpha, incomplete test coverage, unstable, API may still change heavily.

Installation

go get github.com/stergiotis/boxer

What's inside

Boxer is a collection of packages under public/. The larger subsystems:

  • algebraicarch/pushout — algebraic three-way merge for line-graphs via categorical pushouts: graggle/store for the line-graph data structure, graggle/patch for the patch DAG, envelope for transmittable patches; the graggle and pseudo-edge constructs follow Joe Neeman's ojo design (see pushout/graggle/NOTICE); Includes a BackendI/RepoI seam under algebraicarch/pushout/pijul with two realisations — a native pushout backend (no external binary) and a text backend that shells out to pijul.
  • semistructured/leeway — code-driven entity-attribute-value data model with a staged codegen pipeline (DDL / DML / read-access / streaming read-access / marshalling).
  • semistructured/markdown/obsidian — goldmark-based parser for Obsidian-flavored markdown (callouts, wikilinks, embeds, tags, highlights, frontmatter).
  • db/clickhouse/dsl — typed ClickHouse SQL DSL with an AST, marshalling, and nanopass rewrite passes (ADR-0002, ADR-0006).
  • streaming/persisted/kafka — embedded Kafka producer/consumer derived from Redpanda Connect's franz-go integration (ADR-0005).
  • caching — read-through batch cache aimed at ETL / build / graph-traversal pipelines: latency-hidden via dependency accumulation and partition-aware bulk fetches, with optional disk-backed L2.
  • analytics/similarity/compression — compression-based similarity metrics (NCD, CCC) over any Reset-able compressor.
  • math/numerical/finddivisions and math/numerical/timeticks — axis-tick layout: Heckbert / Wilkinson / Talbot for numeric and log axes; a uPlot-derived calendar ladder with locale-aware boundary snapping for time axes.
  • science/geo/h3 — H3 geospatial indexing via a Rust→WASM→wazero bridge (ADR-0003); Rust source under rust/h3bridge.
  • thestack/imzero2 — ImZero v2: an egui-based immediate-mode UI stack (egui2 FFI bindings, widgets, the IDS design system, demo apps), rendered by the Rust backend under rust/imzero2.
  • thestack/fffi2 — Framed Foreign Function Interface: the typed FFI / IR layer imzero2 builds on (ADR-0049).
  • keelson — application runtime for imzero2 apps: an AppI registry with dock/CLI hosts, an in-process bus, a bus-codec, a facts store, background-task supervision, and a help system.
  • observability/sysmetrics — Linux system-metrics collectors (cpu, mem, disk, net, proc, sensors, battery, container, opt-in GPU backends) (ADR-0019).
  • science/geo/swisstopo — Swiss LV95 ⇄ WGS84 coordinate transforms, GeoTIFF elevation sampling, and line-of-sight queries.
  • fec — forward error correction (e.g. fec/ea/golay24).
  • eb, eh — structured error building and error handling.
  • batching, containers, hashing, identity, logical, observability, parsing, slices, statespace, unsafeperf, … — utility packages.

internal/ carries vendored third-party ports.

ImZero v1 (Dear ImGui-based) lives in imzero_imgui. ImZero v2 (egui-based) is part of this module: the Go side under public/thestack/{imzero2,fffi2}, its Rust egui renderer under rust/imzero2, and runnable demo applications under apps/ (play, imztop, capdemo, capinspector, taskdemo).

Building

Boxer uses Go build tags to gate optional features, Go experiments, and AI-generated code paths. The canonical tag set lives in ./tags; pass it to every go build, go test, and go vet invocation:

go build -tags="$(cat ./tags)" ./...
go test  -tags="$(cat ./tags)" ./...
go vet   -tags="$(cat ./tags)" ./...

Without these tags, packages fail to compile with misleading undefined identifier errors.

Documentation

Boxer follows the Diátaxis framework (ADR-0001). Docs live next to the code they describe:

Style Conventions

File Extensions

Boxer uses chained file extensions (e.g. file.docx.pdf.txt):

.out.<ext>
Generated source code checked into the repository, e.g. myfile.out.go.
.gen.<ext>
Source code generated during the regular build (part of the binary distribution, not the source distribution), e.g. myfile.gen.go.
.idl.go
A (Framed) Foreign Function Interface (FFI) Interface Definition Language file — a subset of the Go language.
Folders

Path specificity increases with depth. Example: ./fec/ea/golay24fec is forward error correction (a well-known technical term); ea is Eingabe-Ausgabe (German for input/output, chosen to avoid clashing with stdlib io); golay24 is the specific algorithm.

Ideally the leaf package name is discriminative enough to drive IDE autocompletion.

Glossary
e2e
End-to-end.
ea
Input-output (German abbreviation, to distinguish from core packages).
fec
Forward error correction.
inst
Instance (similar to self / this).
vcs
Version control system (git, svn, hg, perforce, …).

Compliance

Third-party licenses are vetted by a CI gate that builds a CycloneDX SBOM with cyclonedx-gomod and enforces the project policy (ADR-0004). Inline ports of third-party code, the bundled h3.wasm artifact's license chain, and the gate's policy are documented in THIRD_PARTY_NOTICES.md. NOTICE carries the project's own attribution.

Contributing

Currently, no third-party contributions are accepted.

AI Codegen Declaration

Code and documentation up to commit aa78183 is 100% human-generated. Subsequent code with substantial LLM contributions is gated by llm_generated_* build tags (see Building) so AI-free builds remain possible.

License

The MIT License (MIT) 2023-2026 — Panos Stergiotis. See LICENSE for full terms.

Directories

Path Synopsis
apps
godepview
Package godepview is the keelson app that explores this module's Go dependency graph (ADR-0064).
Package godepview is the keelson app that explores this module's Go dependency graph (ADR-0064).
splashscreen
Package splashscreen is a windowed keelson app (ADR-0026 AppI) that presents the project's splash artwork alongside two companion panes:
Package splashscreen is a windowed keelson app (ADR-0026 AppI) that presents the project's splash artwork alongside two companion panes:
public
algebraicarch/pushout/envelope
Package envelope defines the transmissible form of a patch and its wire-format seam.
Package envelope defines the transmissible form of a patch and its wire-format seam.
algebraicarch/pushout/envelope/codectest
Package codectest is the executable conformance contract for envelope.CodecI implementations.
Package codectest is the executable conformance contract for envelope.CodecI implementations.
algebraicarch/pushout/exchange
Version comparison.
Version comparison.
algebraicarch/pushout/exchange/exchangetest
Package exchangetest is the executable conformance contract for exchange transports.
Package exchangetest is the executable conformance contract for exchange transports.
algebraicarch/pushout/exchange/inproc
Package inproc adapts a local *repo.Repo to the exchange transport interfaces — the trivial carrier used by the demo, by tests, and by the exchangetest conformance suite.
Package inproc adapts a local *repo.Repo to the exchange transport interfaces — the trivial carrier used by the demo, by tests, and by the exchangetest conformance suite.
algebraicarch/pushout/repo
Package repo is the domain-neutral pushout engine: a patch log plus a graggle, persisted through a pluggable StorageI, serialized through a pluggable wire-codec envelope.Registry, and synchronized through the transport-agnostic exchange package.
Package repo is the domain-neutral pushout engine: a patch log plus a graggle, persisted through a pluggable StorageI, serialized through a pluggable wire-codec envelope.Registry, and synchronized through the transport-agnostic exchange package.
algebraicarch/pushout/repo/filestore
Package filestore is the reference repo.StorageI implementation: a transparent on-disk layout under one root directory, hardened for crash consistency.
Package filestore is the reference repo.StorageI implementation: a transparent on-disk layout under one root directory, hardened for crash consistency.
algebraicarch/pushout/repo/storagetest
Package storagetest is the executable conformance contract for repo.StorageI implementations.
Package storagetest is the executable conformance contract for repo.StorageI implementations.
app command
code/analysis/golang/godep
Package godep is the marshallgen-serializable manifest and the collection<->visualization seam for the Go dependency explorer (ADR-0064).
Package godep is the marshallgen-serializable manifest and the collection<->visualization seam for the Go dependency explorer (ADR-0064).
code/analysis/golang/godep/godepcollect
Package godepcollect is the live godep.SourceI adapter for the Go dependency explorer (ADR-0064): it loads the transitive package closure with golang.org/x/tools/go/packages and builds a godep.Manifest.
Package godepcollect is the live godep.SourceI adapter for the Go dependency explorer (ADR-0064): it loads the transitive package closure with golang.org/x/tools/go/packages and builds a godep.Manifest.
code/analysis/golang/wasmsurvey
Package wasmsurvey surveys which of the module's Go packages are amenable to TinyGo/WebAssembly compilation, and explains why the others are not (ADR-0078).
Package wasmsurvey surveys which of the module's Go packages are amenable to TinyGo/WebAssembly compilation, and explains why the others are not (ADR-0078).
db/clickhouse/text2sql
Package text2sql provides natural language to ClickHouse SQL translation using a local Ollama LLM with structural validation feedback.
Package text2sql provides natural language to ClickHouse SQL translation using a local Ollama LLM with structural validation feedback.
dev
ea
fs
gov
gov/docstd
Package docstd is the canonical vocabulary for the boxer documentation standard's front-matter contract (DOCUMENTATION_STANDARD §4): the allowed Diátaxis `type:` values, the per-type `status:` lifecycle enums, and a pure validator over a `(type, status)` pair.
Package docstd is the canonical vocabulary for the boxer documentation standard's front-matter contract (DOCUMENTATION_STANDARD §4): the allowed Diátaxis `type:` values, the per-type `status:` lifecycle enums, and a pure validator over a `(type, status)` pair.
keelson/designsystem/colors/vendor
Package vendor implements the IDS data-encoding palette vendor converter (ADR-0031 §SD3 / §SD8 Flow 2; ADR-0033 §SD4).
Package vendor implements the IDS data-encoding palette vendor converter (ADR-0031 §SD3 / §SD8 Flow 2; ADR-0033 §SD4).
keelson/designsystem/lint/internal/literalrule
Package literalrule factors out the analyzer shape shared by the Tier-1 design-system rules that flag a raw numeric literal in a selector-named call (L3 spacing, L4 rounding): trigger on a call whose function is a selector whose name is in Triggers, inspect the first positional argument, and report when it is an INT/FLOAT BasicLit whose text is not in Allowed.
Package literalrule factors out the analyzer shape shared by the Tier-1 design-system rules that flag a raw numeric literal in a selector-named call (L3 spacing, L4 rounding): trigger on a call whose function is a selector whose name is in Triggers, inspect the first positional argument, and report when it is an INT/FLOAT BasicLit whose text is not in Allowed.
keelson/designsystem/lint/l3spacing
Package l3spacing implements IDS Tier 1 rule L3 — flag literal floats in spacing-aware API calls outside the styletokens allowlist.
Package l3spacing implements IDS Tier 1 rule L3 — flag literal floats in spacing-aware API calls outside the styletokens allowlist.
keelson/designsystem/web
Package web serves the IDS lean classless CSS assets (ADR-0076): the hand-authored base + obsidian coverage (ids.css) and the generated colour tokens (ids-palette.css).
Package web serves the IDS lean classless CSS assets (ADR-0076): the hand-authored base + obsidian coverage (ids.css) and the generated colour tokens (ids-palette.css).
keelson/runtime/clipboardbroker
Package clipboardbroker is the runtime's clipboard Powerbox per ADR-0026 (Update 2026-05-30).
Package clipboardbroker is the runtime's clipboard Powerbox per ADR-0026 (Update 2026-05-30).
observability/goruntime
Package goruntime reads the running process's own Go runtime metrics (runtime/metrics) into a caller-owned Snapshot.
Package goruntime reads the running process's own Go runtime metrics (runtime/metrics) into a caller-owned Snapshot.
observability/humanfmt
Package humanfmt renders metric quantities as compact human-readable strings for the runtime-dashboard apps (imzrt, imztop), which each previously carried a verbatim copy of Bytes (ADR-0061 SD13, same rationale as the SlidingWindow lift).
Package humanfmt renders metric quantities as compact human-readable strings for the runtime-dashboard apps (imzrt, imztop), which each previously carried a verbatim copy of Bytes (ADR-0061 SD13, same rationale as the SlidingWindow lift).
observability/slidingwindow
Package slidingwindow provides a fixed-capacity, drop-oldest ring buffer used by the runtime-dashboard samplers (imzrt, imztop) to retain a bounded history of per-tick metric values for plotting.
Package slidingwindow provides a fixed-capacity, drop-oldest ring buffer used by the runtime-dashboard samplers (imzrt, imztop) to retain a bounded history of per-tick metric values for plotting.
observability/sysmetrics/psi
Package psi samples Linux Pressure Stall Information (PSI) from /proc/pressure/{cpu,memory,io} — the share of wall-time tasks spent stalled on each resource, averaged over 10/60/300 s windows.
Package psi samples Linux Pressure Stall Information (PSI) from /proc/pressure/{cpu,memory,io} — the share of wall-time tasks spent stalled on each resource, averaged over 10/60/300 s windows.
packageprops
Package packageprops is the shared, zero-dependency vocabulary for per-package property declarations (ADR-0080).
Package packageprops is the shared, zero-dependency vocabulary for per-package property declarations (ADR-0080).
science/geo/h3
Package h3 provides bulk, Struct-of-Arrays access to Uber H3 hierarchical geospatial indexing.
Package h3 provides bulk, Struct-of-Arrays access to Uber H3 hierarchical geospatial indexing.
science/units
Code generated by copy paste; DO NOT EDIT.
Code generated by copy paste; DO NOT EDIT.
semistructured/leeway/anchor/codecdemo
Package codecdemo demonstrates the keelsoncodec --target=anchor emit mode: the same generator that produces the full facts bus- codec stack also produces a schema-agnostic codec for anchor's leeway DML / RA, with Go's type inference binding the schema at the call site.
Package codecdemo demonstrates the keelsoncodec --target=anchor emit mode: the same generator that produces the full facts bus- codec stack also produces a schema-agnostic codec for anchor's leeway DML / RA, with Go's type inference binding the schema at the call site.
semistructured/leeway/anchor/ecsdemo/stage1
Package stage1 is the json/v2 stage of the ecsdemo Entity-Component-System example.
Package stage1 is the json/v2 stage of the ecsdemo Entity-Component-System example.
semistructured/leeway/anchor/ecsdemo/stage2
Package stage2 is the leeway-backed mirror of the json/v2 ecsdemo (stage 1).
Package stage2 is the leeway-backed mirror of the json/v2 ecsdemo (stage 1).
Code generated DO NOT EDIT
semistructured/leeway/encodingaspects
Code generated by copy paste; DO NOT EDIT.
Code generated by copy paste; DO NOT EDIT.
semistructured/leeway/mappingplan
Package mappingplan is the schema-agnostic model of a leeway DTO ↔ codec mapping: the parsed Plan (plain columns + tagged-value fields), the lw: tag grammar (SplitLW), per-field validation and assembly (PlanBuilder), the membership-channel enum, section grouping, and field-shape classification.
Package mappingplan is the schema-agnostic model of a leeway DTO ↔ codec mapping: the parsed Plan (plain columns + tagged-value fields), the lw: tag grammar (SplitLW), per-field validation and assembly (PlanBuilder), the membership-channel enum, section grouping, and field-shape classification.
semistructured/leeway/marshall/go/marshallgen
Package marshallgen is the generic Go DTO → leeway codec generator.
Package marshallgen is the generic Go DTO → leeway codec generator.
semistructured/leeway/marshall/marshalltypes
Package marshalltypes holds the plain carrier structs for the leeway codec's Cut-2 parametrized / mixed membership channels (ADR-0008 D3).
Package marshalltypes holds the plain carrier structs for the leeway codec's Cut-2 parametrized / mixed membership channels (ADR-0008 D3).
semistructured/leeway/membership
Package membership is the low-level wire identity of a Leeway membership and its string representation, role-agnostic.
Package membership is the low-level wire identity of a Leeway membership and its string representation, role-agnostic.
semistructured/leeway/useaspects
Code generated by copy paste; DO NOT EDIT.
Code generated by copy paste; DO NOT EDIT.
semistructured/leeway/valueaspects
Code generated by copy paste; DO NOT EDIT.
Code generated by copy paste; DO NOT EDIT.
thestack/imzero2/egui2/widgets/canonicaltypeedit
Package canonicaltypeedit is an editor widget for a single primitive leeway canonical type (canonicaltypes).
Package canonicaltypeedit is an editor widget for a single primitive leeway canonical type (canonicaltypes).
thestack/imzero2/egui2/widgets/canonicaltypesummary
Package canonicaltypesummary is a reusable, tethered value-inspector for a single leeway canonical type (canonicaltypes).
Package canonicaltypesummary is a reusable, tethered value-inspector for a single leeway canonical type (canonicaltypes).
thestack/imzero2/egui2/widgets/colormap
Package colormap maps a stream of float32 samples to packed RGBA (0xRRGGBBAA) u32 colors, with NaN/Inf and out-of-range substitution (matplotlib set_bad / set_under / set_over style), intensity scaling (linear, log10, or dB-from-linear-power), and linearly-interpolated palette lookup.
Package colormap maps a stream of float32 samples to packed RGBA (0xRRGGBBAA) u32 colors, with NaN/Inf and out-of-range substitution (matplotlib set_bad / set_under / set_over style), intensity scaling (linear, log10, or dB-from-linear-power), and linearly-interpolated palette lookup.
thestack/imzero2/egui2/widgets/componentview
Package componentview is the typed per-component complement to the generic leewaywidgets.Table2CardEmitter (ADR-0075).
Package componentview is the typed per-component complement to the generic leewaywidgets.Table2CardEmitter (ADR-0075).
thestack/imzero2/egui2/widgets/distsummary
Package distsummary implements a two-level summarisation widget for a single statistical distribution.
Package distsummary implements a two-level summarisation widget for a single statistical distribution.
thestack/imzero2/egui2/widgets/gauge
Package gauge renders a read-only radial dial: one scalar value mapped onto a bounded [min,max] range, drawn as a ~270° needle dial with optional colored zones, ticks, and a center value readout.
Package gauge renders a read-only radial dial: one scalar value mapped onto a bounded [min,max] range, drawn as a ~270° needle dial with optional colored zones, ticks, and a center value readout.
thestack/imzero2/egui2/widgets/heatmapscroll
Package heatmapscroll composes the colormap package with the scrollingTexture widget (ADR-0058) into a single, opinionated wrapper for "streaming scalar → colour heatmap" use cases: audio spectrograms, RF waterfalls, thermal streams, rolling metrics heatmaps.
Package heatmapscroll composes the colormap package with the scrollingTexture widget (ADR-0058) into a single, opinionated wrapper for "streaming scalar → colour heatmap" use cases: audio spectrograms, RF waterfalls, thermal streams, rolling metrics heatmaps.
thestack/imzero2/egui2/widgets/layeredgraph
Package layeredgraph defines the engine-neutral seam for static, layered (hierarchical / Sugiyama) layout of directed flow graphs — state machines, DAGs, the leeway pipeline.
Package layeredgraph defines the engine-neutral seam for static, layered (hierarchical / Sugiyama) layout of directed flow graphs — state machines, DAGs, the leeway pipeline.
thestack/imzero2/egui2/widgets/layeredgraph/goccyengine
Package goccyengine implements layeredgraph.Engine with Graphviz `dot`, run in-process as WebAssembly via goccy/go-graphviz (wazero, cgo-free).
Package goccyengine implements layeredgraph.Engine with Graphviz `dot`, run in-process as WebAssembly via goccy/go-graphviz (wazero, cgo-free).
thestack/imzero2/egui2/widgets/layeredgraph/view
Package view renders a layeredgraph.Layout into an imzero2 PaintCanvas using the existing painter binding — there is no new IDL/FFI surface (ADR-0069).
Package view renders a layeredgraph.Layout into an imzero2 PaintCanvas using the existing painter binding — there is no new IDL/FFI surface (ADR-0069).
thestack/imzero2/egui2/widgets/mappingplanview
Package mappingplanview is an interactive ImZero2 widget for authoring a leeway mappingplan spec and live-previewing the code it compiles to.
Package mappingplanview is an interactive ImZero2 widget for authoring a leeway mappingplan spec and live-previewing the code it compiles to.
thestack/imzero2/egui2/widgets/pager
Package pager is a reusable client-side paginator over an in-memory dataset.
Package pager is a reusable client-side paginator over an in-memory dataset.
thestack/imzero2/egui2/widgets/schemaview
Package schemaview is an imzero2 widget that renders a leeway schema — a common.TableDesc — as a master-detail inspector across two dock panes: a collapsible section navigator ("structure") and a decoded property pane ("detail").
Package schemaview is an imzero2 widget that renders a leeway schema — a common.TableDesc — as a master-detail inspector across two dock panes: a collapsible section navigator ("structure") and a decoded property pane ("detail").

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL