Commit graph

58 commits

Author SHA1 Message Date
Claude
7407b89b8d
refactor(ax): AX RFC-025 compliance sweep pass 1
Remove banned imports (fmt, strings, os, errors, path/filepath) across all
production and test files, replace with core.* primitives, coreio.ReadStream,
and coreerr.E. Upgrade dappco.re/go/core v0.5.0 → v0.7.0 for core.PathBase
and core.Is. Fix isRepoScoped to exclude pr.* capabilities (enforcement is at
the forge layer, not the policy engine). Add Good/Bad/Ugly test coverage to
all packages missing the mandatory three-category naming convention.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 08:48:56 +01:00
Virgil
c9a7a6fb4b fix(trust): enforce scoped repository defaults
Some checks failed
Security Scan / security (push) Failing after 9s
Test / test (push) Failing after 33s
2026-03-30 10:42:05 +00:00
86c68ad1c9 Merge pull request '[agent/codex:gpt-5.3-codex-spark] Read .core/reference/RFC-CORE-008-AGENT-EXPERIENCE.md (the A...' (#14) from main into dev
Some checks failed
Security Scan / security (push) Failing after 15s
Test / test (push) Successful in 10m52s
2026-03-29 15:26:33 +00:00
Virgil
e80ef94552 fix(crypt): align AX error handling and cleanup checks
Some checks failed
Security Scan / security (push) Failing after 10s
Test / test (push) Failing after 9m7s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-29 15:25:12 +00:00
f37f5b3a14 Merge pull request 'Fix CodeRabbit findings' (#12) from agent/fix-coderabbit-findings--verify-each-aga into dev
Some checks failed
Security Scan / security (push) Failing after 8s
Test / test (push) Failing after 8m44s
Reviewed-on: #12
2026-03-24 11:33:05 +00:00
12281f9e76 Merge pull request '[agent/claude] Update go.mod require lines from forge.lthn.ai to dappco.re ...' (#6) from agent/update-go-mod-require-lines-from-forge-l into main
Some checks failed
Security Scan / security (push) Failing after 10s
Test / test (push) Failing after 10m27s
2026-03-22 01:44:22 +00:00
Snider
62482c7dc9 refactor: migrate imports to dappco.re/go/core/* paths
Some checks failed
Security Scan / security (pull_request) Failing after 9s
Test / test (pull_request) Failing after 8m29s
Update module path from forge.lthn.ai/core/go-crypt to
dappco.re/go/core/crypt. Migrate go-log, go-io, go-i18n imports to
their new dappco.re/go/core/* paths with updated versions (core v0.5.0,
log v0.1.0, io v0.2.0, i18n v0.2.0). Un-migrated modules (cli,
go-store, go-inference) remain at forge.lthn.ai paths.

Also fixes merge conflict marker and duplicate imports in
crypt/openpgp/service.go, and updates CLAUDE.md to reflect new paths.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 01:43:27 +00:00
Snider
69464fe503 refactor: migrate core import to dappco.re/go/core
Some checks failed
Security Scan / security (push) Failing after 10s
Test / test (push) Failing after 7m16s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-21 19:56:26 +00:00
Snider
b85319ae6b chore: sync dependencies for v0.1.12
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-21 19:54:33 +00:00
Snider
f5b4c971a2 chore: sync dependencies for v0.1.11
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-21 19:54:33 +00:00
Snider
36bf16b06e fix(coderabbit): address review findings
Some checks failed
Security Scan / security (pull_request) Failing after 8s
Test / test (pull_request) Failing after 4m46s
- auth: prevent legacy .lthn fallback when .hash file exists but is
  unreadable or has unexpected format (security fix in verifyPassword
  and Login)
- chachapoly: wrap raw error returns in Decrypt with coreerr.E()
- trust: reject trailing data in LoadPolicies JSON decoder

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 13:32:21 +00:00
e691a9ce51 Merge pull request '[agent/claude:opus] DX audit and fix. 1) Review CLAUDE.md — update any outdate...' (#3) from agent/dx-audit-and-fix--1--review-claude-md into main
Some checks failed
Security Scan / security (push) Failing after 8s
Test / test (push) Successful in 1m15s
2026-03-17 08:03:20 +00:00
Snider
703dd4588c refactor: standardise coreerr import alias and fix shortenPackageName
Some checks failed
Security Scan / security (pull_request) Failing after 7s
Test / test (pull_request) Successful in 11m55s
- CLAUDE.md: update error convention from core.E() to coreerr.E() to
  match actual codebase usage
- Standardise go-log import alias from `core` to `coreerr` across 6
  files (crypt/symmetric.go, crypt/kdf.go, crypt/crypt.go, crypt/hash.go,
  crypt/checksum.go, crypt/openpgp/service.go) for consistency with the
  11 files already using `coreerr`
- Fix shortenPackageName to handle all forge.lthn.ai/core/* module
  prefixes instead of only cli/ and gui/, fixing TestShortenPackageName

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 07:22:34 +00:00
Snider
f4a219816a chore: sync dependencies for v0.1.10
Some checks failed
Security Scan / security (push) Failing after 13s
Test / test (push) Failing after 8m11s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 22:19:33 +00:00
Snider
60de3e1943 refactor: replace remaining fmt.Errorf/os.* with go-io/go-log conventions
Some checks failed
Security Scan / security (push) Failing after 6s
Test / test (push) Failing after 6m13s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 20:50:38 +00:00
Snider
eacbb025b3 fix(rsa): update test for Go 1.26 GenerateKey resilience
Some checks failed
Security Scan / security (push) Failing after 7s
Test / test (push) Failing after 6m11s
Go 1.26 rsa.GenerateKey recovers from reader errors internally.
Test now verifies no panic instead of expecting an error.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 18:41:47 +00:00
Snider
39643ddba0 fix: replace fmt.Errorf and errors.New with coreerr.E()
Some checks failed
Security Scan / security (push) Failing after 8s
Test / test (push) Failing after 6m20s
Replace all fmt.Errorf/errors.New calls in auth/auth.go,
crypt/pgp/pgp.go, crypt/rsa/rsa.go, crypt/chachapoly/chachapoly.go,
and trust/trust.go with coreerr.E(op, msg, err) from go-log.
No stale pkg/framework imports found.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 18:19:51 +00:00
Snider
fb55abc52e chore: sync go.mod dependencies
Some checks failed
Security Scan / security (push) Failing after 11s
Test / test (push) Failing after 9m43s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 15:36:00 +00:00
Snider
70ebe68cc9 chore: add .core/ and .idea/ to .gitignore
Some checks failed
Security Scan / security (push) Failing after 8s
Test / test (push) Failing after 8m4s
2026-03-15 10:17:49 +00:00
Snider
13b459a361 fix: update stale import paths and dependency versions from extraction
Some checks failed
Security Scan / security (push) Failing after 9s
Test / test (push) Failing after 3m51s
Resolve stale forge.lthn.ai/core/cli v0.1.0 references (tag never existed,
earliest is v0.0.1) and regenerate go.sum via workspace-aware go mod tidy.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 13:38:59 +00:00
Snider
55ffb09c84 refactor: migrate cobra → cli.Command, update CLAUDE.md
Some checks failed
Security Scan / security (push) Failing after 9s
Test / test (push) Failing after 23s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-13 13:42:49 +00:00
Snider
a009a8d1eb docs: add human-friendly documentation
Some checks failed
Security Scan / security (push) Failing after 8s
Test / test (push) Failing after 29s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:02:40 +00:00
Snider
e561e1ee1f security: use constant-time comparison for auth credentials
Some checks failed
Security Scan / security (push) Failing after 8s
Test / test (push) Failing after 21s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 08:27:38 +00:00
Snider
999b115315 chore: add .core/ build and release configs
Some checks failed
Security Scan / security (push) Failing after 7s
Test / test (push) Failing after 21s
Add go-devops build system configuration for standardised
build, test, and release workflows across the Go ecosystem.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 18:52:36 +00:00
Snider
fa707796d0 chore: sync go.mod dependencies
Some checks failed
Security Scan / security (push) Failing after 8s
Test / test (push) Failing after 20s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 15:22:21 +00:00
Snider
20c1bf92f7 chore: remove boilerplate Taskfile
Some checks failed
Security Scan / security (push) Failing after 9s
Test / test (push) Failing after 22s
All tasks (test, build, lint, fmt, vet, cov) are handled natively
by `core go` commands. Taskfile was redundant wrapper.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 14:45:49 +00:00
Snider
c7959ecfef refactor: swap pkg/framework imports to pkg/core
Some checks failed
Security Scan / security (push) Failing after 7s
Test / test (push) Failing after 19s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 14:11:09 +00:00
Snider
7468c38906 refactor: swap pkg/{io,log,i18n} imports to go-io/go-log/go-i18n
Some checks failed
Security Scan / security (push) Failing after 6s
Test / test (push) Failing after 15s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 12:35:41 +00:00
Snider
f597122a1a chore: bump forge.lthn.ai dep versions to latest tags
Some checks failed
Security Scan / security (push) Failing after 11s
Test / test (push) Failing after 11m3s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-26 05:34:22 +00:00
499ffe1c75 Merge pull request 'chore: Go 1.26 modernization' (#2) from chore/go-1.26-modernization into main
Some checks failed
Security Scan / security (push) Failing after 11s
Test / test (push) Failing after 10m35s
2026-02-24 18:01:46 +00:00
Claude
9e7a19243f
chore: fmt.Errorf(static) → errors.New
Some checks failed
Security Scan / security (pull_request) Failing after 15s
Test / test (pull_request) Failing after 10m43s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:30:08 +00:00
Snider
c2497f8fbf chore: bump forge.lthn.ai dep versions to latest tags
Some checks failed
Security Scan / security (push) Failing after 9s
Test / test (push) Failing after 11m2s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-23 06:49:40 +00:00
Snider
116d20db4a chore: add Go repo norms (badges, contributing, lint, taskfile, editorconfig)
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-23 06:45:33 +00:00
Snider
1797ee696c chore: refresh go.sum after upstream tag updates
Some checks failed
Test / test (push) Waiting to run
Security Scan / security (push) Failing after 11s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-23 06:35:19 +00:00
Snider
ee58e790a0 feat: modernise to Go 1.26 iterators and stdlib helpers
Some checks failed
Security Scan / security (push) Failing after 11s
Test / test (push) Failing after 29s
Add iter.Seq iterators for trust registry (ListSeq), audit log
(EventsSeq, QuerySeq), and approval store (PendingSeq). Use
slices.DeleteFunc in session store, slices.SortFunc in testcmd,
range-over-int in benchmarks.

Co-Authored-By: Gemini <noreply@google.com>
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-23 05:47:13 +00:00
Claude
9fdbe9db6f
ci: add Forgejo Actions test and security scan workflows
Some checks failed
Security Scan / security (push) Failing after 12s
Test / test (push) Failing after 29s
Uses reusable workflows from core/go-devops for Go testing
(with race detector and coverage) and security scanning
(govulncheck, gitleaks, trivy).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 03:28:02 +00:00
Claude
def72ac971
chore: refresh go.sum after upstream tag updates
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 23:36:25 +00:00
Snider
c2e44b74bb refactor: migrate CLI imports from core/go to core/cli
Update imports from forge.lthn.ai/core/go/pkg/cli to
forge.lthn.ai/core/cli/pkg/cli following CLI package split.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-22 23:29:49 +00:00
Claude
5ea42689d3
chore: migrate Snider deps from github.com to forge.lthn.ai
Update Enchantrix reference in comment and dependency versions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 21:41:49 +00:00
Snider
d6aa25c5bf refactor: apply go fix modernizers for Go 1.26
Automated fixes: interface{} → any, range-over-int, t.Context(),
wg.Go(), strings.SplitSeq, strings.Builder, slices.Contains,
maps helpers, min/max builtins.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-22 21:00:16 +00:00
Snider
f5fb34c7fb chore: go mod tidy for 1.26.0
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-22 20:35:59 +00:00
Snider
8ba3fe68d6 chore: bump go directive to 1.26.0
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-22 20:33:48 +00:00
Snider
f4eaab401d chore: pin forge deps to v0.0.1 tags for Go 1.26 compat
Go 1.26 rejects non-semver version strings (like 'main') in go.mod.
Tags v0.0.1 now exist on all forge repos — workspace still overrides
for local development.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-22 20:15:05 +00:00
Snider
e2283dc076 chore: use workspace-resolved versions, drop replace directives
Forge module versions now use main branch resolution via ~/Code/go.work
workspace. Removes local replace directives — the central go.work handles
all cross-repo resolution during development.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-22 19:49:36 +00:00
Snider
fde12e1539 feat: migrate crypt and test commands from CLI
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 19:38:16 +00:00
Snider
9585da8e66 chore: resolve forge deps from registry, remove local replaces
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 19:09:41 +00:00
Snider
5674668061 docs: add README with quick start and docs links
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-20 15:11:19 +00:00
Snider
bbf2322389 docs: graduate TODO/FINDINGS into production documentation
Replace internal task tracking (TODO.md, FINDINGS.md) with structured
documentation in docs/. Trim CLAUDE.md to agent instructions only.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-20 15:01:55 +00:00
Snider
9b65defdd8 feat(trust): Phase 3 — approval workflow, audit log, dynamic policies, scope wildcards
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-20 04:02:47 +00:00
Snider
fc21d01a71 docs(findings): document Phase 2 key management decisions
Covers F1 resolution (Argon2id migration), dual-path password
verification, revocation JSON design, key rotation flow, and
HardwareKey interface rationale.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-20 02:29:17 +00:00