Snider
0bf47aa155
Merge branch 'fix/gemini-batch' into new
2026-02-08 22:00:29 +00:00
Snider
b8aa8dd8fd
Merge branch 'fix/docstrings-exec-logger' into new
2026-02-08 22:00:29 +00:00
Snider
1c61d35a26
Merge branch 'fix/disable-dev-release' into new
2026-02-08 22:00:29 +00:00
Snider
b84a1ec29e
Merge branch 'fix/consolidate-workflows' into new
2026-02-08 22:00:21 +00:00
Snider
b1e703fea3
Merge branch 'feature-core-integration' into new
2026-02-08 22:00:01 +00:00
Snider
bee2679714
Merge branch 'feat/job-runner' into new
2026-02-08 21:59:51 +00:00
Snider
cf0011c508
Merge branch 'feat/prod-infra' into new
2026-02-08 21:59:43 +00:00
Snider
3f9840b2ea
Merge branch 'codex/bugseti-mcp' into new
2026-02-08 21:59:29 +00:00
Snider
5558642d5a
Merge branch 'feat/unifi-sdk' into new
2026-02-08 21:59:25 +00:00
Snider
084807975a
Merge branch 'feat/release-and-installers' into new
2026-02-08 21:59:18 +00:00
Snider
fd02adac50
Merge branch 'feat/release-archives' into new
2026-02-08 21:58:59 +00:00
Snider
af0a31ddd3
Merge branch 'feature/log-batch' into new
2026-02-08 21:58:52 +00:00
Snider
6e74356481
Merge branch 'feature/mcp-batch' into new
2026-02-08 21:58:46 +00:00
Snider
ebf165bd51
Merge branch 'feature/help-batch' into new
2026-02-08 21:58:39 +00:00
Snider
afeadf46de
Merge branch 'feature/errors-batch' into new
2026-02-08 21:58:32 +00:00
Snider
b5680bc9fe
Merge branch 'feature/issue-139-help-search' into new
2026-02-08 21:58:01 +00:00
Snider
5c6d166842
Merge branch 'feature/issue-90-process-logger' into new
2026-02-08 21:57:14 +00:00
Snider
3d9048e888
Merge branch 'feature/issue-87-no-color-support' into new
2026-02-08 21:56:44 +00:00
Snider
550bd4d6c1
Merge branch 'feature/issue-84-core-thread-safety' into new
2026-02-08 21:56:41 +00:00
Snider
af8e6a657b
Merge branch 'feature/issue-81-apply-confirmation' into new
2026-02-08 21:55:37 +00:00
Snider
fc9a906c9b
Merge branch 'feature/issue-78-nil-context' into new
2026-02-08 21:55:32 +00:00
Snider
3684c936f9
Merge branch 'fix/data-race-76' into new
2026-02-08 21:55:28 +00:00
Snider
d3550d2658
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
e0b18aa6a2
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
59a986ea41
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
83b5e10742
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
fd4cbdee8f
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
4f21dbb163
Merge branch 'fix/io-migration-devops' into new
2026-02-08 21:28:55 +00:00
Snider
1ac04479f6
Merge branch 'fix/io-migration-repos' into new
...
# Conflicts:
# pkg/repos/registry.go
2026-02-08 21:28:50 +00:00
Snider
948dd16761
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
b8d198f80b
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
41a5496b44
Merge branch 'fix/io-migration-cache' into new
...
# Conflicts:
# pkg/cache/cache.go
2026-02-08 21:28:25 +00:00
Snider
650fd4d8c8
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
8b57baa419
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
7f07d1a807
Merge branch 'fix/io-medium-ext' into new
...
# Conflicts:
# pkg/io/io.go
2026-02-08 21:27:53 +00:00
Snider
37558bc491
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
3221b283fc
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
8a102e4476
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
d2a225e936
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
00850f88e4
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
60a0410c0b
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
4b179b2c94
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
40c4c5ef68
updates
2026-02-08 15:17:18 +00:00
Snider
f602587522
updates
2026-02-08 15:17:12 +00:00
Claude
d2916db640
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
b7a6e235e9
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
c2715af316
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
349e8daa0b
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
00c011bd39
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
Snider
23d9c4da19
chore(githooks): fix pre-commit QA
...
- replace invalid qa flags with core go qa full\n- add versioned hook entry for consistent behavior
2026-02-05 22:07:14 +00:00