Snider
f855c45fc8
Merge branch 'fix/gofmt-client' into new
2026-02-08 22:00:29 +00:00
Snider
6064c198eb
Merge branch 'fix/gemini-batch' into new
2026-02-08 22:00:29 +00:00
Snider
a3147895c4
Merge branch 'fix/docstrings-exec-logger' into new
2026-02-08 22:00:29 +00:00
Snider
8225812fd2
Merge branch 'fix/disable-dev-release' into new
2026-02-08 22:00:29 +00:00
Snider
315b4fc052
Merge branch 'fix/consolidate-workflows' into new
2026-02-08 22:00:21 +00:00
Snider
aba0698c24
Merge branch 'feature-core-integration' into new
2026-02-08 22:00:01 +00:00
Snider
6a92682c20
Merge branch 'feat/job-runner' into new
2026-02-08 21:59:51 +00:00
Snider
704f8327de
Merge branch 'feat/prod-infra' into new
2026-02-08 21:59:43 +00:00
Snider
2d48f2d335
Merge branch 'codex/bugseti-mcp' into new
2026-02-08 21:59:29 +00:00
Snider
34b4ec2178
Merge branch 'feat/unifi-sdk' into new
2026-02-08 21:59:25 +00:00
Snider
4e3a1a436a
Merge branch 'feat/release-and-installers' into new
2026-02-08 21:59:18 +00:00
Snider
7065889926
Merge branch 'feat/release-archives' into new
2026-02-08 21:58:59 +00:00
Snider
389ce9972d
Merge branch 'feature/log-batch' into new
2026-02-08 21:58:52 +00:00
Snider
ecfa5d744f
Merge branch 'feature/mcp-batch' into new
2026-02-08 21:58:46 +00:00
Snider
03a6e04b17
Merge branch 'feature/help-batch' into new
2026-02-08 21:58:39 +00:00
Snider
28331e2e5f
Merge branch 'feature/errors-batch' into new
2026-02-08 21:58:32 +00:00
Snider
1940b92893
Merge branch 'feature/issue-139-help-search' into new
2026-02-08 21:58:01 +00:00
Snider
53a833d55a
Merge branch 'feature/issue-90-process-logger' into new
2026-02-08 21:57:14 +00:00
Snider
288431dde2
Merge branch 'feature/issue-87-no-color-support' into new
2026-02-08 21:56:44 +00:00
Snider
bbdfc3a3e6
Merge branch 'feature/issue-84-core-thread-safety' into new
2026-02-08 21:56:41 +00:00
Snider
93248b848f
Merge branch 'feature/issue-81-apply-confirmation' into new
2026-02-08 21:55:37 +00:00
Snider
a519e326fd
Merge branch 'feature/issue-78-nil-context' into new
2026-02-08 21:55:32 +00:00
Snider
33f92306be
Merge branch 'fix/data-race-76' into new
2026-02-08 21:55:28 +00:00
Snider
7d134f9d0c
fix: resolve API signature mismatches after IO migration merge
...
Reconcile callers with actual function signatures after merging IO
migration branches. Some functions gained io.Medium params (repos.*),
others kept their original signatures (release.*, cache.*, container.*).
- Add io.Local to repos.LoadRegistry/FindRegistry/ScanDirectory callers
- Remove extra io.Local from release.ConfigExists/LoadConfig/WriteConfig callers
- Fix cache.New call (remove nil Medium arg)
- Add missing IsCPPProject to build discovery
- Add missing fields to mcp.Service struct (subsystems, logger, etc.)
- Add DefaultTCPAddr constant to mcp transport
- Fix node.go interface check (coreio.Medium, not coreio.Node)
- Fix container.linuxkit LoadState/EnsureLogsDir arg counts
- Fix vm templates to use package-level functions
- Remove unused Medium field from DaemonOptions
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-08 21:55:10 +00:00
Snider
a852ab7ff8
Merge branch 'feature/cli-batch' into new
...
# Conflicts:
# internal/cmd/dev/cmd_file_sync.go
# internal/cmd/docs/cmd_sync.go
# internal/cmd/sdk/generators/go.go
# internal/cmd/setup/cmd_registry.go
# pkg/cli/daemon.go
# pkg/io/local/client.go
# pkg/io/local/client_test.go
# pkg/mcp/transport_tcp.go
2026-02-08 21:29:47 +00:00
Snider
a673647f89
Merge branch 'feature/io-batch' into new
...
# Conflicts:
# go.mod
# go.sum
# internal/cmd/dev/cmd_apply.go
# internal/cmd/dev/cmd_file_sync.go
# internal/cmd/docs/cmd_scan.go
# internal/cmd/docs/cmd_sync.go
# internal/cmd/help/cmd.go
# internal/cmd/sdk/generators/go.go
# internal/cmd/setup/cmd_registry.go
# internal/variants/full.go
# pkg/io/io.go
# pkg/io/local/client.go
# pkg/io/local/client_test.go
# pkg/mcp/mcp.go
# pkg/mcp/mcp_test.go
# pkg/mcp/transport_tcp.go
2026-02-08 21:29:39 +00:00
Snider
229d256561
Merge branch 'chore/io-migrate-repos-medium-11165034141497363118' into new
...
# Conflicts:
# internal/cmd/setup/cmd_github.go
# pkg/repos/registry.go
2026-02-08 21:29:24 +00:00
Snider
d44ca11e39
Merge branch 'chore/io-migrate-build-8873543635510272463' into new
...
# Conflicts:
# pkg/build/checksum.go
# pkg/build/config.go
# pkg/build/discovery.go
# pkg/build/discovery_test.go
# pkg/io/io.go
# pkg/io/local/client.go
# pkg/release/release.go
2026-02-08 21:29:14 +00:00
Snider
843315165c
Merge branch 'fix/io-migration-devops' into new
2026-02-08 21:28:55 +00:00
Snider
eb8e927fef
Merge branch 'fix/io-migration-repos' into new
...
# Conflicts:
# pkg/repos/registry.go
2026-02-08 21:28:50 +00:00
Snider
9b8522640e
Merge branch 'fix/io-migration-release' into new
...
# Conflicts:
# pkg/release/config.go
# pkg/release/release.go
2026-02-08 21:28:43 +00:00
Snider
15d5aa0fbd
Merge branch 'fix/io-migration-container' into new
...
# Conflicts:
# pkg/container/state.go
# pkg/container/templates.go
2026-02-08 21:28:36 +00:00
Snider
44e74128c4
Merge branch 'fix/io-migration-cache' into new
...
# Conflicts:
# pkg/cache/cache.go
2026-02-08 21:28:25 +00:00
Snider
eeca300765
Merge branch 'fix/io-migration-build' into new
...
# Conflicts:
# pkg/build/checksum.go
# pkg/build/config.go
# pkg/build/discovery.go
2026-02-08 21:28:17 +00:00
Snider
0a553dcf6e
Merge branch 'fix/io-migration-agentic' into new
...
# Conflicts:
# pkg/agentic/config.go
# pkg/agentic/context.go
2026-02-08 21:28:09 +00:00
Snider
0bdb3d0a3e
Merge branch 'fix/io-medium-ext' into new
...
# Conflicts:
# pkg/io/io.go
2026-02-08 21:27:53 +00:00
Snider
0fc16305d9
Merge branch 'feat/frankenphp-native-app' into new
...
# Conflicts:
# pkg/crypt/chachapoly/chachapoly.go
# pkg/crypt/chachapoly/chachapoly_test.go
# pkg/crypt/lthn/lthn.go
# pkg/crypt/lthn/lthn_test.go
# pkg/crypt/rsa/rsa.go
# pkg/crypt/rsa/rsa_test.go
# pkg/io/node/node.go
# pkg/io/sigil/sigil.go
# pkg/io/sigil/sigils.go
2026-02-08 21:18:41 +00:00
Claude
95261a92ff
feat: add crypto, session, sigil, and node packages
...
Add new packages for cryptographic operations, session management,
and I/O handling:
- pkg/crypt/chachapoly: ChaCha20-Poly1305 AEAD encryption
- pkg/crypt/lthn: Lethean-specific key derivation and encryption
- pkg/crypt/rsa: RSA key generation, encryption, and signing
- pkg/io/node: CryptoNote node I/O and protocol handling
- pkg/io/sigil: Cryptographic sigil generation and verification
- pkg/session: Session parsing, HTML rendering, search, and video
- internal/cmd/forge: Forgejo auth status command
- internal/cmd/session: Session management CLI command
Also gitignore build artifacts (bugseti binary, i18n-validate).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 20:52:28 +00:00
Claude
68247f8205
feat(i18n): complete en_GB translations and add completeness test
...
Fill all 568 missing translation keys in en_GB.json (765→1357 lines):
- 97 --help description keys (collect, ci, docs, dev, php, pkg, sdk, vm)
- 471 runtime keys (labels, errors, hints, progress, status messages)
- Add common.flag.follow, common.flag.tag, common.prompt.abort
Add completeness_test.go that scans all T() calls in source code and
verifies every cmd.*/common.* key exists using ModeStrict (panics on
missing). Catches translation gaps at test time instead of showing raw
keys in the CLI.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 20:50:55 +00:00
Charon
4b8d4895a6
Merge pull request 'fix(ci): move root pipeline to .woodpecker/ directory' ( #17 ) from fix/ci-pipeline-discovery into main
2026-02-08 18:52:50 +00:00
Claude
14b297e058
fix(ci): move root pipeline to .woodpecker/ directory
...
WP v3 ignores root .woodpecker.yml when .woodpecker/ directory exists.
Move it into the directory so both core and bugseti pipelines are discovered.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 18:50:56 +00:00
Charon
5d22b3adf0
Merge pull request 'feat: Go vanity import + BugSETI CI pipeline' ( #16 ) from feat/vanity-import-bugseti-ci into main
2026-02-08 18:40:43 +00:00
Claude
49da5b10c3
feat: add Go vanity import server and BugSETI CI pipeline
...
Add dappco.re vanity import handler (cmd/vanity-import/) that serves
go-import meta tags, enabling `go get dappco.re/core` to resolve to
forge.lthn.ai/host-uk/core. Deployed as a Docker container behind
Traefik on snider-linux.
Add Woodpecker CI pipeline (.woodpecker/bugseti.yml) for BugSETI
cross-platform builds. Phase 1: Linux amd64 with CGO, triggered on
bugseti-v* tags and main branch pushes to cmd/bugseti/.
Closes #3 , closes #9
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 18:30:29 +00:00
Snider
cdd97441e9
updates
2026-02-08 15:17:18 +00:00
Snider
309dcaf0b4
updates
2026-02-08 15:17:12 +00:00
Claude
b74f8264d3
feat: add Woodpecker CI pipeline and workspace improvements ( #1 )
...
Co-authored-by: Claude <developers@lethean.io>
Co-committed-by: Claude <developers@lethean.io>
2026-02-08 13:25:06 +00:00
Snider
c13b6b8b02
feat(core-app): add auto-migration and session/cache tables
...
AppServiceProvider runs migrate --force on first request.
Sessions and cache tables created automatically in SQLite.
Removed synthetic HTTP migration approach in favour of pure
PHP service provider — cleaner, works with Octane workers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 22:56:44 +00:00
Snider
e5c82dab5e
feat(core-app): FrankenPHP + Wails v3 native desktop app
...
Single 53MB binary embedding PHP 8.4 ZTS runtime, Laravel 12,
Livewire 4, and Octane worker mode inside a Wails v3 native
desktop window.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 22:50:18 +00:00
Snider
1b861494f1
feat(prod): add production infrastructure management
...
Add `core prod` command with full production infrastructure tooling:
- `core prod status` — parallel SSH health checks across all hosts,
Galera cluster state, Redis sentinel, Docker, LB health
- `core prod setup` — Phase 1 foundation: Hetzner topology discovery,
managed LB creation, CloudNS DNS record management
- `core prod dns` — CloudNS record CRUD with idempotent EnsureRecord
- `core prod lb` — Hetzner Cloud LB status and creation
- `core prod ssh <host>` — SSH into hosts defined in infra.yaml
New packages:
- pkg/infra: config parsing, Hetzner Cloud/Robot API, CloudNS DNS API
- infra.yaml: declarative production topology (hosts, LB, DNS, SSL,
Galera, Redis, containers, S3, CDN, CI/CD, monitoring, backups)
Docker:
- Dockerfile.app (PHP 8.3-FPM, multi-stage)
- Dockerfile.web (Nginx + security headers)
- docker-compose.prod.yml (app, web, horizon, scheduler, mcp, redis, galera)
Ansible playbooks (runnable via `core deploy ansible`):
- galera-deploy.yml, redis-deploy.yml, galera-backup.yml
- inventory.yml with all production hosts
CI/CD:
- .forgejo/workflows/deploy.yml for Forgejo Actions pipeline
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 03:03:29 +00:00
Snider
c0fd80a2b6
feat(bugseti): add marketplace MCP root
...
- add MarketplaceMCPRoot config and UI setting\n- prefer config root before env or auto-discovery\n- thread config root into ethics guard usage
2026-02-05 22:07:24 +00:00