No description
  • Go 92.4%
  • Shell 4.4%
  • Python 3.2%
Snider 18b86f3a2f
Some checks failed
CI / test (push) Has been cancelled
audit: add 4 new dimensions covering 2026-05 canon
Adds dimensions for session-discovered patterns the audit was missing:

- legacy-log-package — catches `"dappco.re/go/log"` import regression.
  Today's go-ml `coreerr.E → core.E` sweep removed 237 instances; nothing
  prevented a regression until this dim. Smoke: go-ml=30, go-ai=2.
- service-usage-example — files declaring `NewService(` must include
  the literal `// Usage example:` marker. Mantis #1383 convention test
  was per-package; this makes the rule ecosystem-wide. Smoke: go-ml=1.
- service-canonical-shape — packages with `NewService(` must also
  declare `Register(c *core.Core) core.Result` or `RegisterCore` (name
  divergence allowed where Register collides with existing
  registration funcs, e.g. inference.Register(Backend)). Mantis #1336.
  Smoke: go-ml=1.
- error-wrap-antipattern — catches `core.NewError(x.Error())` two-stage
  wrapping that loses the original Result chain. Spotted today in
  BookState demo code. Smoke: go-ai=20, go-ml=4.

Together: 58 additional findings across go-ai + go-ml that the prior
audit hid. go-inference + go-mlx + core/go clean on all four. Initial
regex caught NewServiceRuntime false positive in core/go; tightened to
`^func NewService(` (open paren) to exclude generic ServiceRuntime
helpers.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-05-11 11:16:16 +01:00
.core feat: add .core/ build and release configuration 2026-03-06 17:40:40 +00:00
.github/workflows fix(ci): align with flat module layout 2026-04-28 15:40:49 +01:00
docs Merge branch 'main' into dev 2026-04-28 14:46:20 +01:00
tests audit: add 4 new dimensions covering 2026-05 canon 2026-05-11 11:16:16 +01:00
.gitattributes feat: git command, build improvements, and go fmt git-aware (#74) 2026-02-01 10:48:44 +00:00
.gitignore chore(gitignore): add .scannerwork/ for sonar-scanner cache 2026-04-28 14:10:45 +01:00
action.go feat(core)!: API quality refinements — Ok/Fail/ResultOf/MustCast + Action.Enable/Disable/Enabled + NewError → *Err 2026-04-28 13:44:24 +01:00
action_example_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
action_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
action_test.go feat(core)!: API quality refinements — Ok/Fail/ResultOf/MustCast + Action.Enable/Disable/Enabled + NewError → *Err 2026-04-28 13:44:24 +01:00
AGENTS.md docs(agents): SPOR table refresh — current owner mapping + new aliases 2026-04-28 13:23:32 +01:00
api.go feat(core)!: v0.9.0 SPOR — final 11 violations cleaned, drift guard green 2026-04-28 11:30:00 +01:00
api_example_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
api_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
api_test.go fix(sonar): bugs/hotspot/empties + NaN primitive 2026-04-28 14:15:13 +01:00
app.go feat(core)!: v0.9.0 SPOR — final 11 violations cleaned, drift guard green 2026-04-28 11:30:00 +01:00
app_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
app_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
app_test.go feat(core)!: v0.9.0 — Setenv/Unsetenv/Table.Flush/RunE → Result 2026-04-28 13:14:01 +01:00
array.go docs(core): AX-2 sweep — 100% usage-example coverage on public surface 2026-04-28 10:05:39 +01:00
array_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
array_test.go test(core): AX-7 backfill — Lane D (~126 triplet variants) 2026-04-28 11:57:10 +01:00
assert.go refactor(core): split test.go → test.go + assert.go + cli_assert.go; consolidate cmp/env 2026-04-28 12:26:50 +01:00
assert_internal_test.go test(coverage): push core/go from 91.5% to 95.2% (assert/embed/fs/lsp/cli/error) 2026-04-28 14:34:27 +01:00
atomic.go docs(core): AX-2 sweep — 100% usage-example coverage on public surface 2026-04-28 10:05:39 +01:00
atomic_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
atomic_test.go test(core): AX-7 backfill — Lane A (~137 triplet variants) 2026-04-28 11:57:38 +01:00
CLAUDE.md feat: core/go v0.8.0 — full AX migration (#14) 2026-03-26 09:34:27 +00:00
cli.go feat(core)!: v0.9.0 SPOR — os sole owner, runtime cleanup in error.go 2026-04-28 11:06:15 +01:00
cli_assert.go refactor(core): split test.go → test.go + assert.go + cli_assert.go; consolidate cmp/env 2026-04-28 12:26:50 +01:00
cli_example_test.go feat(core): tests/cli/ Taskfile-driven AssertCLI scenarios + SPOR drift guard 2026-04-28 11:19:06 +01:00
cli_test.go test(coverage): push core/go from 91.5% to 95.2% (assert/embed/fs/lsp/cli/error) 2026-04-28 14:34:27 +01:00
command.go docs(core): AX-2 sweep — 100% usage-example coverage on public surface 2026-04-28 10:05:39 +01:00
command_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
command_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
command_test.go test(core): AX-7 backfill — Lane C (~132 triplet variants) 2026-04-28 11:57:56 +01:00
config.go feat(core)!: v0.9.0 SPOR — os sole owner, runtime cleanup in error.go 2026-04-28 11:06:15 +01:00
config_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
config_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
config_test.go test(core): AX-7 backfill — Lane C (~132 triplet variants) 2026-04-28 11:57:56 +01:00
context.go feat(core): Context/Reflect/Duration aliases + Result ergonomics 2026-04-28 10:12:28 +01:00
context_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
context_test.go test(core): AX-7 backfill — Lane D (~126 triplet variants) 2026-04-28 11:57:10 +01:00
contract.go feat(core)!: v0.9.0 SPOR — os sole owner, runtime cleanup in error.go 2026-04-28 11:06:15 +01:00
contract_example_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
contract_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
core.go feat(core)!: v0.9.0 — Setenv/Unsetenv/Table.Flush/RunE → Result 2026-04-28 13:14:01 +01:00
core_example_test.go feat(core)!: v0.9.0 — Setenv/Unsetenv/Table.Flush/RunE → Result 2026-04-28 13:14:01 +01:00
core_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
core_test.go feat(core)!: v0.9.0 — Setenv/Unsetenv/Table.Flush/RunE → Result 2026-04-28 13:14:01 +01:00
data.go feat(core)!: v0.9.0 SPOR — bulk stdlib cleanup (time/io/iter/slices/atomic/reflect/io_fs) 2026-04-28 10:48:13 +01:00
data_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
data_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
data_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
drive.go docs(core): AX-2 sweep — 100% usage-example coverage on public surface 2026-04-28 10:05:39 +01:00
drive_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
drive_test.go test(core): AX-7 backfill — Lane C (~132 triplet variants) 2026-04-28 11:57:56 +01:00
embed.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
embed_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
embed_internal_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
embed_test.go test(coverage): push core/go from 91.5% to 95.2% (assert/embed/fs/lsp/cli/error) 2026-04-28 14:34:27 +01:00
encode.go feat(core): add Base64Encode + Base64Decode + URL variants encoding/base64 wrappers (#446) 2026-04-25 07:19:39 +01:00
encode_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
encode_fuzz_test.go test(core): native fuzz harness — F alias + Fuzz* across parse surface 2026-04-28 09:40:53 +01:00
encode_test.go chore(module): rename module path dappco.re/go/core → dappco.re/go 2026-04-28 09:23:30 +01:00
entitlement.go feat(core)!: v0.9.0 SPOR — bulk stdlib cleanup (time/io/iter/slices/atomic/reflect/io_fs) 2026-04-28 10:48:13 +01:00
entitlement_example_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
entitlement_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
entitlement_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
env_example_test.go refactor(core): split test.go → test.go + assert.go + cli_assert.go; consolidate cmp/env 2026-04-28 12:26:50 +01:00
env_test.go feat(core)!: v0.9.0 — Setenv/Unsetenv/Table.Flush/RunE → Result 2026-04-28 13:14:01 +01:00
error.go feat(core)!: API quality refinements — Ok/Fail/ResultOf/MustCast + Action.Enable/Disable/Enabled + NewError → *Err 2026-04-28 13:44:24 +01:00
error_example_test.go fix(sonar): bugs/hotspot/empties + NaN primitive 2026-04-28 14:15:13 +01:00
error_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
error_test.go test(coverage): push core/go from 91.5% to 95.2% (assert/embed/fs/lsp/cli/error) 2026-04-28 14:34:27 +01:00
example_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
exit.go feat(core)!: v0.9.0 SPOR — os sole owner, runtime cleanup in error.go 2026-04-28 11:06:15 +01:00
exit_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
exit_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
format.go feat(core)!: v0.9.0 SPOR — sync owner consolidated, syncmap.go merged 2026-04-28 10:52:14 +01:00
format_test.go test(core): AX-7 backfill — Lane D (~126 triplet variants) 2026-04-28 11:57:10 +01:00
fs.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
fs_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
fs_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
fs_test.go test(coverage): push core/go from 91.5% to 95.2% (assert/embed/fs/lsp/cli/error) 2026-04-28 14:34:27 +01:00
go.mod chore(module): rename module path dappco.re/go/core → dappco.re/go 2026-04-28 09:23:30 +01:00
go.sum chore(test): drop testify, complete native assertion migration → 2-line go.mod 2026-04-28 08:30:59 +01:00
hash.go feat(core)!: v0.9.0 SPOR — final 11 violations cleaned, drift guard green 2026-04-28 11:30:00 +01:00
hash_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
hash_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
hash_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
hmac_fuzz_test.go feat(fuzz): coverage for HTML/Template/ParseInt/HMAC parsers 2026-04-28 14:01:56 +01:00
html_fuzz_test.go feat(fuzz): coverage for HTML/Template/ParseInt/HMAC parsers 2026-04-28 14:01:56 +01:00
i18n.go feat(core)!: v0.9.0 SPOR — os sole owner, runtime cleanup in error.go 2026-04-28 11:06:15 +01:00
i18n_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
i18n_test.go test(core): AX-7 backfill — Lane C (~132 triplet variants) 2026-04-28 11:57:56 +01:00
info.go feat(core)!: v0.9.0 SPOR — os sole owner, runtime cleanup in error.go 2026-04-28 11:06:15 +01:00
info_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
info_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
info_test.go test(core): AX-7 backfill — Lane B (~149 triplet variants) 2026-04-28 11:56:44 +01:00
int.go feat(core)!: v0.9.0 SPOR — final 11 violations cleaned, drift guard green 2026-04-28 11:30:00 +01:00
int_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
int_fuzz_test.go feat(fuzz): coverage for HTML/Template/ParseInt/HMAC parsers 2026-04-28 14:01:56 +01:00
int_test.go test(core): AX-7 backfill — Lane D (~126 triplet variants) 2026-04-28 11:57:10 +01:00
io.go core: wrapper expansion — RawMessage, Buffer, Builder + 5 string wrappers (Mantis #1329) 2026-05-01 09:59:56 +01:00
io_example_test.go core: wrapper expansion — RawMessage, Buffer, Builder + 5 string wrappers (Mantis #1329) 2026-05-01 09:59:56 +01:00
io_test.go core: wrapper expansion — RawMessage, Buffer, Builder + 5 string wrappers (Mantis #1329) 2026-05-01 09:59:56 +01:00
ipc.go feat(core)!: v0.9.0 SPOR — os sole owner, runtime cleanup in error.go 2026-04-28 11:06:15 +01:00
ipc_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
ipc_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
ipc_test.go test(core): AX-7 backfill — Lane B (~149 triplet variants) 2026-04-28 11:56:44 +01:00
iter.go feat(core)!: v0.9.0 SPOR — iter.go + user.go owners; cleanup fs.go/log.go 2026-04-28 10:29:35 +01:00
iter_test.go fix(sonar): bugs/hotspot/empties + NaN primitive 2026-04-28 14:15:13 +01:00
json.go core: wrapper expansion — RawMessage, Buffer, Builder + 5 string wrappers (Mantis #1329) 2026-05-01 09:59:56 +01:00
json_example_test.go core: wrapper expansion — RawMessage, Buffer, Builder + 5 string wrappers (Mantis #1329) 2026-05-01 09:59:56 +01:00
json_fuzz_test.go test(core): native fuzz harness — F alias + Fuzz* across parse surface 2026-04-28 09:40:53 +01:00
json_test.go core: wrapper expansion — RawMessage, Buffer, Builder + 5 string wrappers (Mantis #1329) 2026-05-01 09:59:56 +01:00
LICENCE chore: add EUPL-1.2 LICENCE file (UK English canonical) 2026-05-01 08:35:25 +01:00
LICENSE chore: drop legacy meta files + LICENSE extension 2026-04-28 11:11:45 +01:00
lock.go feat(core)!: v0.9.0 SPOR — sync owner consolidated, syncmap.go merged 2026-04-28 10:52:14 +01:00
lock_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
lock_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
log.go feat(core)!: v0.9.0 SPOR — os sole owner, runtime cleanup in error.go 2026-04-28 11:06:15 +01:00
log_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
log_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
log_test.go test(core): AX-7 backfill — Lane B (~149 triplet variants) 2026-04-28 11:56:44 +01:00
lsp.go feat(lsp): SPOR + AX-7 diagnostic sources — full live-edit drift coverage 2026-04-28 13:31:04 +01:00
lsp_internal_test.go test(coverage): push core/go from 91.5% to 95.2% (assert/embed/fs/lsp/cli/error) 2026-04-28 14:34:27 +01:00
lsp_test.go test(coverage): push core/go from 91.5% to 95.2% (assert/embed/fs/lsp/cli/error) 2026-04-28 14:34:27 +01:00
map.go feat(core): functional helpers + time format/parse + path mutation 2026-04-28 08:53:15 +01:00
map_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
map_test.go test(core): AX-7 backfill — Lane D (~126 triplet variants) 2026-04-28 11:57:10 +01:00
math.go fix(sonar): bugs/hotspot/empties + NaN primitive 2026-04-28 14:15:13 +01:00
math_example_test.go test(core): merge cmp_{test,example_test}.go → math_{test,example_test}.go 2026-04-28 12:27:53 +01:00
math_test.go fix(sonar): bugs/hotspot/empties + NaN primitive 2026-04-28 14:15:13 +01:00
net.go feat(core)!: v0.9.0 SPOR — bulk stdlib cleanup (time/io/iter/slices/atomic/reflect/io_fs) 2026-04-28 10:48:13 +01:00
net_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
net_fuzz_test.go test(core): native fuzz harness — F alias + Fuzz* across parse surface 2026-04-28 09:40:53 +01:00
net_test.go test(core): AX-7 backfill — Lane D (~126 triplet variants) 2026-04-28 11:57:10 +01:00
options.go feat(options): Float64 + Duration typed accessors 2026-04-28 13:46:54 +01:00
options_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
options_test.go feat(options): Float64 + Duration typed accessors 2026-04-28 13:46:54 +01:00
os.go feat(core)!: v0.9.0 — Setenv/Unsetenv/Table.Flush/RunE → Result 2026-04-28 13:14:01 +01:00
os_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
os_test.go feat(core)!: v0.9.0 — Setenv/Unsetenv/Table.Flush/RunE → Result 2026-04-28 13:14:01 +01:00
path.go feat(core)!: v0.9.0 SPOR — final 11 violations cleaned, drift guard green 2026-04-28 11:30:00 +01:00
path_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
path_fuzz_test.go test(core): native fuzz harness — F alias + Fuzz* across parse surface 2026-04-28 09:40:53 +01:00
path_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
path_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
private_helpers_internal_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
process.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
process_example_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
process_test.go fix(sonar): bugs/hotspot/empties + NaN primitive 2026-04-28 14:15:13 +01:00
random.go feat(core)!: v0.9.0 — silent-failure helpers return Result, dead methods removed 2026-04-28 10:27:46 +01:00
random_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
random_test.go feat(core)!: v0.9.0 — silent-failure helpers return Result, dead methods removed 2026-04-28 10:27:46 +01:00
README.md feat: core/go v0.8.0 — full AX migration (#14) 2026-03-26 09:34:27 +00:00
reflect.go feat(core)!: v0.9.0 SPOR — context/errors/reflect cleanup batch 2026-04-28 10:33:30 +01:00
reflect_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
reflect_test.go test(core): AX-7 backfill — Lane B (~149 triplet variants) 2026-04-28 11:56:44 +01:00
regexp.go docs(core): AX-2 sweep — 100% usage-example coverage on public surface 2026-04-28 10:05:39 +01:00
regexp_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
regexp_fuzz_test.go test(core): native fuzz harness — F alias + Fuzz* across parse surface 2026-04-28 09:40:53 +01:00
regexp_test.go test(core): AX-7 backfill — Lane D (~126 triplet variants) 2026-04-28 11:57:10 +01:00
registry.go feat(core)!: v0.9.0 SPOR — final 11 violations cleaned, drift guard green 2026-04-28 11:30:00 +01:00
registry_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
registry_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
result.go docs(result): fix package docstring example — As → MustCast 2026-04-28 13:48:04 +01:00
result_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
result_test.go feat(core)!: API quality refinements — Ok/Fail/ResultOf/MustCast + Action.Enable/Disable/Enabled + NewError → *Err 2026-04-28 13:44:24 +01:00
runtime.go feat(core)!: v0.9.0 SPOR — final 11 violations cleaned, drift guard green 2026-04-28 11:30:00 +01:00
runtime_example_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
runtime_test.go test(core): AX-7 backfill — Lane B (~149 triplet variants) 2026-04-28 11:56:44 +01:00
scanner.go feat(core): lsp.go — Language Server Protocol with AX drift diagnostics 2026-04-28 12:52:03 +01:00
scanner_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
scanner_test.go feat(core): lsp.go — Language Server Protocol with AX drift diagnostics 2026-04-28 12:52:03 +01:00
service.go feat(core)!: v0.9.0 SPOR — bulk stdlib cleanup (time/io/iter/slices/atomic/reflect/io_fs) 2026-04-28 10:48:13 +01:00
service_example_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
service_test.go test(core): AX-7 backfill — Lane B (~149 triplet variants) 2026-04-28 11:56:44 +01:00
sha3.go feat(core)!: v0.9.0 SPOR — final 11 violations cleaned, drift guard green 2026-04-28 11:30:00 +01:00
sha3_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
sha3_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
sha3_test.go test(core): AX-7 backfill — Lane D (~126 triplet variants) 2026-04-28 11:57:10 +01:00
signal.go feat(signal): add c.Signal() accessor — action-subscription contract 2026-04-25 00:33:36 +01:00
signal_example_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
signal_test.go test(core): test-imports drift — all *_test.go now import only dappco.re/go 2026-04-28 12:52:30 +01:00
slice.go feat(core)!: v0.9.0 SPOR — final 11 violations cleaned, drift guard green 2026-04-28 11:30:00 +01:00
slice_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
slice_test.go fix(sonar): bugs/hotspot/empties + NaN primitive 2026-04-28 14:15:13 +01:00
sql.go feat(core)!: v0.9.0 SPOR — context/errors/reflect cleanup batch 2026-04-28 10:33:30 +01:00
sql_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
sql_test.go test(core): AX-7 backfill — Lane D (~126 triplet variants) 2026-04-28 11:57:10 +01:00
string.go core: wrapper expansion — RawMessage, Buffer, Builder + 5 string wrappers (Mantis #1329) 2026-05-01 09:59:56 +01:00
string_example_test.go core: wrapper expansion — RawMessage, Buffer, Builder + 5 string wrappers (Mantis #1329) 2026-05-01 09:59:56 +01:00
string_test.go core: wrapper expansion — RawMessage, Buffer, Builder + 5 string wrappers (Mantis #1329) 2026-05-01 09:59:56 +01:00
sync.go feat(core)!: v0.9.0 SPOR — os sole owner, runtime cleanup in error.go 2026-04-28 11:06:15 +01:00
sync_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
sync_test.go fix(sonar): bugs/hotspot/empties + NaN primitive 2026-04-28 14:15:13 +01:00
table.go feat(core)!: v0.9.0 — Setenv/Unsetenv/Table.Flush/RunE → Result 2026-04-28 13:14:01 +01:00
table_example_test.go feat(core)!: v0.9.0 — Setenv/Unsetenv/Table.Flush/RunE → Result 2026-04-28 13:14:01 +01:00
table_internal_test.go feat(core)!: v0.9.0 — Setenv/Unsetenv/Table.Flush/RunE → Result 2026-04-28 13:14:01 +01:00
table_test.go feat(core)!: v0.9.0 — Setenv/Unsetenv/Table.Flush/RunE → Result 2026-04-28 13:14:01 +01:00
template.go feat(core)!: v0.9.0 SPOR — final 11 violations cleaned, drift guard green 2026-04-28 11:30:00 +01:00
template_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
template_fuzz_test.go feat(fuzz): coverage for HTML/Template/ParseInt/HMAC parsers 2026-04-28 14:01:56 +01:00
template_test.go test(core): AX-7 backfill — Lane D (~126 triplet variants) 2026-04-28 11:57:10 +01:00
test.go refactor(core): split test.go → test.go + assert.go + cli_assert.go; consolidate cmp/env 2026-04-28 12:26:50 +01:00
test_example_test.go fix(sonar): bugs/hotspot/empties + NaN primitive 2026-04-28 14:15:13 +01:00
test_test.go fix(sonar): bugs/hotspot/empties + NaN primitive 2026-04-28 14:15:13 +01:00
time.go feat(core): Context/Reflect/Duration aliases + Result ergonomics 2026-04-28 10:12:28 +01:00
time_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
time_fuzz_test.go test(core): native fuzz harness — F alias + Fuzz* across parse surface 2026-04-28 09:40:53 +01:00
time_test.go test(core): AX-7 backfill — Lane D (~126 triplet variants) 2026-04-28 11:57:10 +01:00
unicode.go feat(core): add unicode rune classifiers (IsLetter+IsDigit+IsSpace+IsUpper+IsLower+ToUpper+ToLower) (#476) 2026-04-25 07:32:43 +01:00
unicode_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
unicode_test.go chore(module): rename module path dappco.re/go/core → dappco.re/go 2026-04-28 09:23:30 +01:00
url.go feat(core)!: v0.9.0 SPOR — final 11 violations cleaned, drift guard green 2026-04-28 11:30:00 +01:00
url_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
url_fuzz_test.go test(core): native fuzz harness — F alias + Fuzz* across parse surface 2026-04-28 09:40:53 +01:00
url_test.go test(core): AX-7 backfill — Lane D (~126 triplet variants) 2026-04-28 11:57:10 +01:00
user.go feat(core)!: v0.9.0 SPOR — iter.go + user.go owners; cleanup fs.go/log.go 2026-04-28 10:29:35 +01:00
user_test.go test(core): AX-7 backfill — Lane D (~126 triplet variants) 2026-04-28 11:57:10 +01:00
utils.go feat(core)!: v0.9.0 SPOR — final 11 violations cleaned, drift guard green 2026-04-28 11:30:00 +01:00
utils_example_test.go docs(core): descriptive docblocks for every Example* (pkg.go.dev render) 2026-04-28 11:15:28 +01:00
utils_internal_test.go test(core): split monolith ax7_private_internal_test.go → 21 per-source files 2026-04-28 12:16:17 +01:00
utils_test.go test(core): AX-7 backfill — Lane B (~149 triplet variants) 2026-04-28 11:56:44 +01:00

CoreGO

Dependency injection, service lifecycle, permission, and message-passing for Go.

import "dappco.re/go/core"

CoreGO is the foundation layer for the Core ecosystem. It gives you:

  • one container: Core
  • one input shape: Options
  • one output shape: Result
  • one command tree: Command
  • one message bus: ACTION, QUERY + named Action callables
  • one permission gate: Entitled
  • one collection primitive: Registry[T]

Quick Example

package main

import "dappco.re/go/core"

func main() {
    c := core.New(
        core.WithOption("name", "agent-workbench"),
        core.WithService(cache.Register),
        core.WithServiceLock(),
    )
    c.Run()
}

Core Surfaces

Surface Purpose
Core Central container and access point
Service Managed lifecycle component
Command Path-based executable operation
Action Named callable with panic recovery + entitlement
Task Composed sequence of Actions
Registry[T] Thread-safe named collection
Process Managed execution (Action sugar)
API Remote streams (protocol handlers)
Entitlement Permission check result
Data Embedded filesystem mounts
Drive Named transport handles
Fs Local filesystem (sandboxable)
Config Runtime settings and feature flags

Install

go get dappco.re/go/core

Requires Go 1.26 or later.

Test

go test ./...    # 483 tests, 84.7% coverage

Docs

The authoritative API contract is docs/RFC.md (21 sections).

License

EUPL-1.2