Commit Graph

150 Commits

Author SHA1 Message Date
root
3d55daf9b0 chore(roadmap): mark P0.3 complete — instance scope confirmed 2026-05-25 03:06:01 +00:00
root
6907478bce chore(roadmap): mark P0.2 complete — architecture linux-amd64 2026-05-25 03:04:13 +00:00
root
a028fc5b06 chore(roadmap): mark P0.1 complete — pre-flight checks passed
Some checks failed
CI — Common Platform / Build, Test & Typecheck (push) Failing after 0s
CI — Common Platform / Publish @bytelyst/* to Gitea npm registry (push) Has been skipped
2026-05-25 03:03:52 +00:00
saravanakumardb1
7381d0f5c0 docs(devops): group Gitea runner docs under gitea-runner/ subfolder
Moves 5 related docs into docs/devops/gitea-runner/ to keep this
multi-doc workstream from colliding with future roadmaps and
delegation prompts in docs/devops/.

Renames:
  HOSTINGER_GITEA_RUNNER_ROADMAP.md     -> ROADMAP.md
  HOSTINGER_GITEA_ACT_RUNNER_SETUP.md   -> ACT_RUNNER_SETUP.md
  GITEA_PACKAGES_PUBLISH_WORKFLOW.md    -> PUBLISH_WORKFLOW.md
  HOSTINGER_GITHUB_RUNNER_SETUP.md      -> _PLAN_B_GITHUB_RUNNER.md
  CODEX_DELEGATION_PROMPT.md            -> (same name, moved)

All internal cross-links updated via sed sweep. Verified no stale
references remain.

Adds README.md in the new folder as the index + pattern doc for
future multi-doc workstreams (one-liner handoff, file map,
architecture summary).

Updated one-liner handoff path:
  Read docs/devops/gitea-runner/CODEX_DELEGATION_PROMPT.md ...
2026-05-24 18:33:45 -07:00
saravanakumardb1
82cdebeb87 docs(devops): add Codex delegation prompt + one-liner handoff
Captures the exact bootstrap prompt to paste to Codex on the
Hostinger VM, plus a one-liner that just points Codex at the prompt
file (after Codex has the repo).

Also documents how to monitor Codex's progress from Cascade side
(grep roadmap-update commits) and how to recover if it gets stuck
(the checkbox state in the roadmap IS the resume pointer).
2026-05-24 18:26:50 -07:00
saravanakumardb1
a55f207f80 docs(devops): add executable roadmap with checklist for Codex agent
Adds HOSTINGER_GITEA_RUNNER_ROADMAP.md — a single execution tracker
that Codex on the Hostinger VM works through phase-by-phase, ticking
checkboxes and recording commit hashes as it goes.

Structure:
- 6 phases (P0 Pre-flight → P5 First real release) + P6 review handoff
- Each task: [ ] checkbox + Commit hash field + Status note
- Detail steps live in the two companion docs (act_runner setup +
  publish workflow); the roadmap is the orchestrator
- Final report section Codex fills in when P0-P5 are complete
- Human review checklist (R1-R9) for verification after handoff
- Operating notes: commit message format, when to ask, never-do list
- Change log table Codex auto-appends to

Critical invariant repeated at P3.6 and P5.4: cross-Gitea SHA1
comparison must match. If it doesn't, Codex stops — it's the
load-bearing architectural guarantee that the dual-Gitea, no-sync-
script model rests on.

Also adds roadmap-pointer banners to the two companion docs
(HOSTINGER_GITEA_ACT_RUNNER_SETUP.md, GITEA_PACKAGES_PUBLISH_WORKFLOW.md)
so anyone landing there knows the master tracker exists.
2026-05-24 18:22:16 -07:00
saravanakumardb1
d1bdcdd9a7 docs(devops): pivot to Gitea Actions as canonical CI; mark GitHub-runner doc as Plan B
Adds two new docs and a banner on the existing GitHub-runner doc.

WHY: the user already has Gitea Actions configured across all 20+
repos (.gitea/workflows/ci.yml). Building a parallel GitHub Actions
self-hosted runner pipeline is unnecessary work that also drags in
GitHub Organization migration pressure (with Vercel/Netlify pricing
side-effects on free tiers).

The canonical architecture instead:
- Each Gitea instance (corp Mac local + Hostinger VM) runs its own
  act_runner.
- A single publish-packages.yml workflow lives in every package-
  publishing repo.
- When the same git tag is pushed to both Giteas, each one builds
  inside the same pinned Docker image (node:20-bookworm@sha256:...)
  with the same lockfile, producing BYTE-IDENTICAL tarballs.
- No sync script is needed; the shared git tag IS the sync mechanism.
- Lockfile integrity hashes match across both registries, so corp Mac
  and personal Mac + Hostinger prod all see the same packages.

New: HOSTINGER_GITEA_ACT_RUNNER_SETUP.md
  - Codex-actionable prompt to install act_runner on the Hostinger VM
  - Pre-flight checks (arch detection, Docker daemon, Gitea reachable)
  - Idempotent user creation, SHA-verified binary download
  - Docker mode runner config with labels mapping ubuntu-latest to
    pinned Node image
  - Smoke test + full E2E with throwaway @bytelyst/_runner-e2e-test
    package
  - The architectural invariant check: cross-Gitea SHA comparison —
    same tag pushed to both must produce identical tarballs
  - Monitoring (Gitea UI, API, systemd journal)
  - Hardening, rollback, deliverables, guardrails, questions

New: GITEA_PACKAGES_PUBLISH_WORKFLOW.md
  - The actual publish-packages.yml triggered by v* tags
  - Docker image pinned by digest for build determinism
  - pnpm@9.12.0 pinned, --frozen-lockfile, host-network container
  - Token mounted as read-only secret file (not env var)
  - Concurrency cancel-in-progress: false (never cancel a publish)
  - Pack tarballs + SHA512 manifest as Gitea Release assets for audit
    trail
  - Two propagation strategies: reusable workflow (preferred) vs
    sync-publish-workflow.sh script
  - Operator runbook for cutting a release
  - Failure-mode table + remediation
  - Deliverables checklist

Updated: HOSTINGER_GITHUB_RUNNER_SETUP.md
  - Added 'PLAN B' banner at the top
  - Cross-links to the Gitea Actions docs
  - Kept the doc intact as a valid alternative if priorities ever
    shift to making GitHub Actions the publish driver
2026-05-24 18:15:48 -07:00
saravanakumardb1
6bf15eae7a docs(devops): Hostinger runner prompt v2 — org migration + monitoring + hardening
Adds the missing pieces revealed during review:

§1 Multi-repo registration decision — choose repo-level vs org-level
   up-front. Default doc remains repo-level, but explicitly calls out
   org-level as the scaling path for 20+ repos.

§2 Pre-flight check additions:
  - Arch detection (x86_64 / aarch64) before downloading runner tarball
  - github.com + objects.githubusercontent.com reachability check
  - gh CLI auth status check (must be saravanakumardb1)

§4 Installation hardening:
  - Step 1 is now idempotent (getent guards on useradd/usermod)
  - Step 3 queries latest runner version via gh api (no more stale pin)
  - Step 3 includes SHA256 verification of the downloaded tarball
    against the release-notes manifest, with explicit STOP-if-mismatch
  - Step 3 has REGISTRATION_URL var with commented Option A/B for
    repo-level vs org-level scope

§5 Smoke test — added explicit git checkout/add/commit/push commands
   for creating the runner/smoke branch (was implicit before).

§8 (renamed) — comprehensive org migration guide:
  - Side-by-side table: personal account today vs under-an-org
  - Bash loop to transfer all 18 repos via gh api
  - git remote set-url commands for each local clone
  - Post-migration org-level registration token fetch
  - Workflow propagation strategies (reusable workflow vs sync script)

§9 (new) — Monitoring + observability:
  - GitHub Actions tab per-repo + per-org workflow views
  - Runner pool health (Settings → Actions → Runners) at repo + org level
  - gh CLI commands for scripted monitoring (run watch, list, view, runners)
  - Host-side journalctl + _diag/ inspection commands

§14 Questions — updated to ask about scope (repo vs org) first.

Section numbering shifted by +1 from §9 onward to make room for the
new Monitoring section.
2026-05-24 18:04:50 -07:00
saravanakumardb1
d5e0778af6 docs(devops): add Hostinger self-hosted GitHub runner setup prompt
Delegation prompt for the Codex agent running on the Hostinger VM to:
- Install a dedicated GitHub Actions self-hosted runner under gha-runner user
- Register it with saravanakumardb1/learning_ai_common_plat
- Run as a systemd service with auto-start
- Install Node 20 / pnpm 9 / gh CLI / Docker prerequisites
- Wire up local Gitea publish token

Includes full end-to-end validation that proves the actual publish
pipeline works:
- Creates a throwaway @bytelyst/_runner-e2e-test package
- Publishes to local Gitea
- Uploads tarball as GitHub Release asset
- Verifies Gitea registry returns the version
- Verifies pnpm install + require works from a clean directory
- Verifies the byte-identical-tarball invariant (sha256 match between
  Gitea-served tarball and GitHub Release asset) — this is the key
  guarantee that lockfiles will remain portable across corp Mac's
  local Gitea after sync
- Documents cleanup of test artifacts

Plus pre-flight checks, hardening (systemd limits, log rotation,
workflow approval), scaling notes, deliverables checklist, guardrails,
rollback, and follow-up prompt list (publish-packages.yml,
bytelyst-sync script, SKILL doc).
2026-05-24 17:59:42 -07:00
saravanakumardb1
3fc0058d06 docs: consolidate learning_ai_smart_auth references into learning_ai_auth_app
The smart_auth docs-only repo has been merged into learning_ai_auth_app.
Updates all cross-repo references:

- adoption/learning_ai_smart_auth.md merged into adoption/learning_ai_auth_app.md
- WORKSPACE_INVENTORY: combined row (now 13 active repos, was 14)
- CODING_AGENT_AUTOMATION_PLAYBOOK: combined row, dropped from for-loop
- GITEA_LOCAL_CI: removed from no-CI list
- ECOSYSTEM_APPROVALS_AND_TRUST_MODEL: ref input consolidated
- ECOSYSTEM_CROSS_POLLINATION_OPPORTUNITIES: capability map + per-repo section consolidated
- repos.txt, run-code-review.md, refresh-chat-history.md, update-agent-docs.sh: drop smart_auth
2026-05-24 14:31:38 -07:00
root
3bd3b234ec docs: document Linux VM deployment, auto-publish timer, and bug fixes
Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-10 02:32:54 +00:00
saravanakumardb1
54a06e227a refactor(scripts): move 5 Gitea scripts into scripts/gitea/ subdirectory
Moved:
  publish-local-gitea-packages.sh  → gitea/publish-local-packages.sh
  publish-outdated-gitea-packages.sh → gitea/publish-outdated-packages.sh
  release-gitea-packages.sh        → gitea/release-packages.sh
  run-registry-tests.sh            → gitea/run-registry-tests.sh
  harden-publish-config.sh         → gitea/harden-publish-config.sh

Dropped -gitea- infix (redundant with folder name).

Fixed in every moved script:
- REPO_ROOT: ../ → ../../ (one level deeper)
- Internal cross-reference comments

Updated all 10 referencing files:
- package.json (release script path)
- .gitea/workflows/ci.yml (publish step)
- 3 workflow .md files (publish-outdated usage)
- 3 devops docs (publish-local + registry-tests refs)
- 2 internal comment cross-references
2026-04-13 00:02:55 -07:00
root
39e48f3241 feat(llm): add FallbackLLMProvider + release pipeline script
- packages/llm: add FallbackLLMProvider (providers/fallback.ts) that
  tries each provider in order, skipping unconfigured or erroring ones;
  wire 'fallback' as a first-class LLMProviderType in factory + types
- packages/llm: improve auto-detection in factory — PERPLEXITY_API_KEY
  and GEMINI_API_KEY trigger auto-selection when no explicit provider set
- scripts/release.sh: new pipeline — rebase from origin/main, build,
  apply changesets, publish outdated packages to Gitea registry, push
- scripts/run-registry-tests.sh: fix Gitea URL health-check to use a
  real package endpoint with auth header instead of bare registry root
- docs: mark Vercel track-B prompts B1–B3 as complete

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 04:21:12 +00:00
cdbdd48a35 docs(devops): add canonical endpoint inventory 2026-04-03 17:29:46 -07:00
477891fb4a docs(deploy): clarify vm vs vercel hosting split 2026-04-03 17:23:18 -07:00
705f58c5c5 chore(deploy): remove railway deployment artifacts 2026-04-03 17:05:15 -07:00
root
0c28231c3b chore(script): add run-registry-tests 2026-03-31 11:37:03 +00:00
root
8b37189829 chore(registry): point packages to gitea.bytelyst.com 2026-03-31 10:53:13 +00:00
root
66ddcaaaa6 docs(devops): record live ollama DNS and HTTPS status 2026-03-31 10:17:39 +00:00
root
b1db0d583d feat(dns): add ollama hostname support 2026-03-31 10:07:38 +00:00
root
d9773b460d docs(gateway): record live bytelyst HTTPS cutover 2026-03-31 09:42:26 +00:00
e573e98cc1 docs(devops): add llmlab dns handoff 2026-03-31 02:32:01 -07:00
356c96e1d9 docs(devops): capture godaddy dns cutover and vm handoff 2026-03-31 02:25:58 -07:00
root
6bb17e1d9c docs(devops): move localmemgpt web to vercel 2026-03-31 09:19:49 +00:00
root
68c8fc0d8d docs(devops): clarify LLM UI hosting roles 2026-03-31 09:12:59 +00:00
root
a597646034 docs(devops): add GoDaddy DNS runbook for bytelyst 2026-03-31 09:00:11 +00:00
root
abfbb70583 docs(devops): document VM-hosted web surfaces 2026-03-31 08:55:52 +00:00
root
3d0183b8c6 docs(devops): note restart and valkey write controls 2026-03-31 08:44:44 +00:00
root
23d5ef44f3 docs(devops): note admin ops inventory and valkey panel 2026-03-31 08:32:50 +00:00
root
2cf557a2c8 docs(devops): document valkey-backed extraction throttling 2026-03-31 08:09:24 +00:00
root
b8661392c6 feat(observability): add phase 2 monitoring and valkey services 2026-03-31 06:57:12 +00:00
root
d4d8c48a4c docs(architecture): extend internal-only policy to shared infra 2026-03-31 06:52:59 +00:00
root
4aba0a83cc docs(devops): add phased VM stack recommendations 2026-03-31 06:52:01 +00:00
root
b7b3869014 docs(architecture): keep monitoring stacks internal on VM 2026-03-31 06:47:39 +00:00
root
5cec039905 docs(architecture): keep internal dashboards on VM Docker 2026-03-31 06:39:19 +00:00
root
bb85bf6176 docs(devops): refresh Track A handoff status 2026-03-30 00:11:45 +00:00
root
5cff282961 docs(architecture): move dashboards to Vercel 2026-03-30 00:05:50 +00:00
root
c0cf80d96b docs(devops): add Track A handoff and prep gateway changes 2026-03-29 23:57:03 +00:00
root
eba6c7a641 chore(platform): align docker and package outputs 2026-03-29 23:41:08 +00:00
root
1b7a68c8a8 feat(devops): add efforise to single-vm ecosystem 2026-03-29 23:34:36 +00:00
saravanakumardb1
80e6268924 docs(vercel): improve Codex prompts with progress trackers, preconditions, verification gates, and per-repo checklists 2026-03-29 16:29:42 -07:00
saravanakumardb1
5fb5a7d468 docs(vercel): split Codex prompts into Track A (Azure VM) and Track B (Vercel code) — replace monolithic file 2026-03-29 16:15:49 -07:00
saravanakumardb1
133d9fe337 docs(vercel): add Codex agent prompts for remaining Vercel deployment work — 8 prompts in dependency order 2026-03-29 16:09:26 -07:00
saravanakumardb1
8dd0036fc4 docs(vercel): cross-reference Azure VM Caddy gateway — concrete gitea.bytelyst.com and api.bytelyst.com URLs across all roadmaps 2026-03-29 16:05:57 -07:00
saravanakumardb1
e6b625f4e2 docs(vercel): review and fix ecosystem web apps audit — update registry strategy to Gitea-on-Azure-VM, fix effort estimates, fix EffoRise path, remove spurious PeakPulse entry, add prerequisite section 2026-03-29 15:46:44 -07:00
saravanakumardb1
64885dbc33 docs: update documentation 2026-03-29 15:46:44 -07:00
root
b261c5d13f fix(devops): harden single-vm gitea bootstrap 2026-03-29 22:44:02 +00:00
root
388d71a06f docs(devops): add azure vm deployment status snapshot 2026-03-29 22:42:33 +00:00
root
626e19f776 docs(devops): add secure single-vm api exposure guidance 2026-03-29 22:29:08 +00:00
saravanakumardb1
21ff1058a4 docs(docker): rewrite prompt.md as execution guide for Codex agent on fresh VM
- Reframed from 'review and fix' to 'execute, monitor, fix failures, validate'
- 4 clear tasks: run script, handle failures, validate deployment, report results
- Moved bug history and development context to background reference
- Added copy-pastable validation commands for all 31 services
- Simplified constraints: don't modify unless actual runtime failure
2026-03-28 02:06:52 -07:00