phase: 05_update_projects_section
Build and Push Container / build-and-push (push) Successful in 16s
Build and Push Container / build-and-push (push) Successful in 16s
**Phase 05 final pass — all 4 tasks already complete; verified phase-level criteria + docs. Repo 100% green.** - Verified: 6 `project-card fade-in` cards; order Brain of Reese → Reverse Proxy → Dynamic DNS → Local AI Stack → Deployment Automation → ServWaf; `src/index.html` diff hunks (lines 293–538) all inside `#projects` (286–542). - `./build.sh` → `Build complete: dist/` (exit 0); `npm test` → **48 passed, 0 failed**; `bash .agents/validate.sh` → **exit 0** (48 E2E + `HEADER CHECK PASSED` on `/`, `/index.html`, hashed CSS via podman + repo-hygiene gates). No linter exists in this repo (no `lint` script/eslint config). Coverage: no JS/CSS touched — vacuous per phase spec; E2E is the binding gate. - Completion criteria: card count 6 in `src/` **and** `dist/` ✅ · first card "Brain of Reese" with `…/Experimental/brain-of-reese` href in `dist/index.html` ✅ · `grep -c "Self-Hosted Services\|Kubernetes Cluster" src/index.html` = **0** ✅ · AI card has vLLM/Gufo/llama.cpp + LocalAI/LiteLLM/Langfuse, no "Ollama" ✅ · regression test present in `tests/e2e/01-page.spec.js` and passing ✅ · `./build.sh && npm test` green (48 ≥ 45) ✅ · no edits outside `#projects` ✅ · README/AGENTS consistent ✅. - Docs: README **updated** (new paragraph stating what the E2E suite covers, incl. the six featured cards, so future content edits update the matching test). AGENTS.md **updated** (convention: the `#projects` grid is test-locked by `01-page.spec.js`). All other README claims re-checked against reality (Dockerfile builds `dist/` internally, `listen 8080`, snippet `include`s, `check-headers.sh` port/paths/output, `--bind 0.0.0.0` config, Node ≥20 engine floor, CI `main`+tag publishing) — consistent. - Notable: `.agents/validate.sh` is still **untracked** though AGENTS.md/README reference it — harness should `git add` it (I ran no git index commands). `.agents/PLAN.md` §4/§5 still say "44 tests" (suite is 48 since Phases 04/05); PLAN.md is off-limits, so this drift needs an explicit user-approved edit. No live-infrastructure touched. - Next pending phase: none in `.agents/phases/todo/` (05 was last). Remaining unphased audit items (L-3 CSP `unsafe-inline`, L-5 SSH-key labelling, L-7 CI pinning, L-8 build.sh CI check) would need new phases via `phase-authoring`.
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# Phase 05 — Update Featured Projects (Brain of Reese, ServWaf, Local AI Stack)
|
||||
|
||||
**Story:** n/a
|
||||
**Context:** `src/index.html` `#projects` section (6 `project-card`s), `~/Projects/Personal/brain_of_reese/README.md`, `~/Projects/StackExpected/ServWall/README.md`, `~/Projects/Experimental/gufo/README.md`
|
||||
|
||||
## Objective
|
||||
Refresh the Featured Projects grid: (a) replace the "Self-Hosted Services"
|
||||
card with a **Brain of Reese** card (RAG chatbot over homelab docs;
|
||||
pgvector ∪ Postgres full-text hybrid search with RRF fusion; self-hosted
|
||||
LLM; source `https://gitea.reeseapps.com/Experimental/brain-of-reese` —
|
||||
verified live) and move it to the **first** slot; (b) replace the
|
||||
"Kubernetes Cluster" card with a **ServWaf** card (Go network WAF —
|
||||
declarative YAML rules, rate limiting, attack-pattern inspection, opt-in
|
||||
local-AI verdict, TLS/HTTP3 edge — **closed source: no source link**,
|
||||
user decision) in its place; (c) update the **Local AI Stack** card to
|
||||
replace Ollama with **vLLM, Gufo, and llama.cpp** (copy, tech tags, and
|
||||
code preview). Lock with a Playwright regression test.
|
||||
|
||||
## Dependencies
|
||||
— (none)
|
||||
|
||||
## Tasks
|
||||
1. `01_brain_of_reese_card.md` — Delete the Self-Hosted Services card; insert the Brain of Reese card as the first card in `#projects`.
|
||||
2. `02_servwaf_card.md` — Replace the Kubernetes Cluster card with the ServWaf card (description only, no source link).
|
||||
3. `03_update_local_ai_stack.md` — Update the Local AI Stack card: replace Ollama with vLLM/Gufo/llama.cpp in the copy, tech tags, and code preview.
|
||||
4. `04_projects_regression_test.md` — Add a Playwright test locking card count, order, the updated Local AI Stack tags, and the absence of the two removed card titles.
|
||||
|
||||
## Testing & Quality
|
||||
- Unit/integration: no JS logic changes in this phase — `src/index.html`
|
||||
content only. The quality gate is the E2E regression test (task 4) plus
|
||||
the full suite.
|
||||
- Coverage: **>90%** on new/modified code — vacuously satisfied (no
|
||||
JS/CSS/TS code is modified); the E2E suite is the binding gate.
|
||||
- E2E: full Playwright suite (`npm test`) green.
|
||||
- The phase is "Complete" only when the **entire** project test suite passes
|
||||
100% (every test in the project, not just this phase's — pre-existing
|
||||
failures included) and achieves **>90% code coverage** on new/modified code.
|
||||
|
||||
## Documentation & Consistency
|
||||
- The final pass reviews `README.md` and `AGENTS.md` in full against the
|
||||
project as it stands after this phase — fixing every inconsistency found,
|
||||
**including pre-existing ones not caused by this phase**.
|
||||
- Tasks update `README.md`/`AGENTS.md` immediately when their own changes are
|
||||
user-visible (setup, commands, configuration, features, conventions).
|
||||
|
||||
## Completion Criteria
|
||||
- [ ] `grep -c "project-card fade-in" src/index.html` returns 6, and the
|
||||
same holds in `dist/index.html`
|
||||
- [ ] first `project-card` in `#projects` (in `dist/index.html`) is
|
||||
"Brain of Reese" and its card links to
|
||||
`https://gitea.reeseapps.com/Experimental/brain-of-reese`
|
||||
- [ ] `grep -c "Self-Hosted Services\|Kubernetes Cluster" src/index.html`
|
||||
returns 0 (project-card titles removed; the words may still appear in
|
||||
the out-of-scope About/Skills sections — e.g. "Kubernetes" skill tag)
|
||||
- [ ] the Local AI Stack card (in `dist/index.html`) contains vLLM, Gufo,
|
||||
and llama.cpp and no "Ollama"
|
||||
- [ ] new regression test present in `tests/e2e/01-page.spec.js` and passing
|
||||
- [ ] `./build.sh && npm test` fully green (45+ tests)
|
||||
- [ ] no change to the Skills section, About section, or any other section
|
||||
outside `#projects`
|
||||
- [ ] README.md and AGENTS.md are accurate and consistent with the whole
|
||||
project (verified in the final pass)
|
||||
Reference in New Issue
Block a user