phase: 102_extensionless_filenames
All verification complete — every gate green, no defects found in previously completed work. **Phase 102 final verification pass — report** Verified (all three task files present in `complete/`; working-tree implementation matches D1–D5 design): - `match_extension` choke point in `app/rag/importer.py` (walk + `formats` counter), `doc_format` name-token badge in `app/api/docs.py`, config/`.env.example` docs, fixture `tests/fixtures/extensionless_kb/`, integration + E2E suites — all present and correct - Completion criteria: end-to-end sync (✓ integration + E2E), case matrix incl. `mydockerfile`/`Dockerfile.dev`/`.dockerfile` exclusions (✓ unit), `formats=dockerfile:1` not `unknown` (✓ log-line assertion), badge `dockerfile`/`containerfile` + `text` fallback + suffixed unchanged (✓ unit/integration/E2E), prune-on-token-removal (✓ `pruned==2`), suffixed-path rule byte-identical (✓ single-line swap, existing cases untouched) Test / lint results (exact commands): - `uv run pytest --cov=app --cov-report=term-missing` → 2084 passed, **99%** coverage (>90% gate) - `uv run pytest tests/e2e/test_extensionless_import.py -v --no-cov` → 2 passed, isolated, DB up - Regressions isolated: `test_import_documents` 3✓, `test_import_extensions_env` 2✓, `test_quadlet_jinja_import` 4✓, `test_document_viewer` 7✓, `test_kb_tree` 8✓ - `uv run ruff check .` → clean; `uv run pyright` → 0 errors, 0 warnings Notable: commit intentionally not made (harness commits the phase); 102's task files already sit in `complete/`, overview stays in `todo/` for the harness. Next pending phases: 98, 99, 103, 104, 105 (numeric next after 102: `103_suggestions_session_openers`).
This commit is contained in:
+14
@@ -0,0 +1,14 @@
|
||||
# CONTAINERFILE-PROBE-SENTINEL-4b1c — phase 102 fixture marker: this
|
||||
# token exists nowhere else (the Dockerfile sibling carries its own).
|
||||
#
|
||||
# Containerfile — the local Postgres 17 + pgvector image the compose
|
||||
# stack builds for the Brain of Reese database service.
|
||||
|
||||
FROM postgres:17
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends build-essential git \
|
||||
&& git clone --branch v0.7.4 https://github.com/pgvector/pgvector /tmp/pgvector \
|
||||
&& make -C /tmp/pgvector install \
|
||||
&& rm -rf /tmp/pgvector \
|
||||
&& apt-get purge -y build-essential git
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
# DOCKERFILE-PROBE-SENTINEL-7a3e — phase 102 fixture marker: this token
|
||||
# exists nowhere else, so the extensionless_kb rows are unambiguous in
|
||||
# the shared database.
|
||||
#
|
||||
# Dockerfile — the Brain of Reese app image: a slim Python runtime that
|
||||
# serves the FastAPI app behind the homelab reverse proxy.
|
||||
|
||||
FROM python:3.12-slim
|
||||
|
||||
WORKDIR /app
|
||||
COPY pyproject.toml uv.lock ./
|
||||
COPY app ./app
|
||||
RUN pip install --no-cache-dir uv && uv sync --frozen --no-dev
|
||||
|
||||
EXPOSE 8000
|
||||
CMD ["uv", "run", "uvicorn", "app.main:app", "--host", "0.0.0.0"]
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
# Makefile — phase 102 negative control: extensionless, and no token in
|
||||
# the env under test names it exactly, so the importer must skip it
|
||||
# (the exact-name rule never reaches for a compound or unrelated name).
|
||||
.PHONY: up down ps
|
||||
up:
|
||||
podman compose up -d
|
||||
down:
|
||||
podman compose down
|
||||
ps:
|
||||
podman compose ps
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
# Extensionless fixture notes
|
||||
|
||||
A short markdown control document for the phase 102 extensionless-kb
|
||||
fixture. With `import_extensions="md,dockerfile,containerfile"` the
|
||||
importer walks this file plus the name-token build files (`Dockerfile`,
|
||||
`Containerfile`); with `md` alone, this note is the only import.
|
||||
Reference in New Issue
Block a user