Compare commits
8 commits
task/drobn
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a6d35ba034 | ||
|
|
308ae6a9f4 | ||
|
|
efd9ad9443 | ||
|
|
2df4f1dbc3 | ||
|
|
e20845ae1b | ||
|
|
d8ff94ca1b | ||
|
|
17e7cb0aea | ||
|
|
a97cec0819 |
59
docs/sessions/2026-08-27-kb-faza5-etap1.md
Normal file
59
docs/sessions/2026-08-27-kb-faza5-etap1.md
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
---
|
||||
okf: "0.1"
|
||||
type: session-log
|
||||
visibility: private
|
||||
status: active
|
||||
updated: 2026-08-27
|
||||
links:
|
||||
- ../../kb/phases/kb-m5-faza5-wiki.md
|
||||
- ../../kb/phases/kb-m5-faza3.md
|
||||
- ../../kb/audits/wiki-kompilat-recon-2026-08-26.md
|
||||
---
|
||||
|
||||
# Sesja 2026-08-27 — Faza 5: decyzje + Etap 1 + rekonсyliacja (ZAMKNIĘTY)
|
||||
|
||||
## Timeline
|
||||
|
||||
- **Sanity** — automat mailowy zdrowy po nocy (last_success świeży, gmail
|
||||
max(ts) bieżący).
|
||||
- **Formalizacja decyzji** (2df4f1d i wcześniejsze) — pakiet (a)-(h) audytu
|
||||
`wiki-kompilat-recon-2026-08-26.md` ZATWIERDZONY w całości; inwariant 7
|
||||
dopisany do faza3 §8.1 (izolacja retrievalu kompilacji od `source='wiki'`);
|
||||
`check_okf.py` łapie bajty kontrolne (nowy check #12 + testy) — 4 NUL-e
|
||||
usunięte z samego audytu.
|
||||
- **Etap 1** (`task/wiki-etap1`, autonomiczny run CC ~25 min) — bootstrap +
|
||||
3 strony proof (`sprawy/fll-2025-26`, `podmioty/mbank`,
|
||||
`osoby/pawel-cesar-sanjuan-szklarz`). 40 sources + 47 przypisów
|
||||
zweryfikowanych byte-for-byte, zero degradacji. Alias-resolution: 6 er
|
||||
życia Pawła spójnie + 2 fałszywe pozytywy pod `paweld2.eu` wykryte i
|
||||
udokumentowane jako wynik negatywny (kluczowy test mechanizmu PASS).
|
||||
- **ODKRYCIE** — kb-wiki istniało na Forgejo od 2026-07-21 (5 stron: `pzu`,
|
||||
`warta`, `ubezpieczenie-auto`, `fll-2025-26`, `wspólnota`) — proof
|
||||
wykonany w fazie 3 (wątek "Kontynuacja wątku o KB", decyzja D7),
|
||||
nieodnotowany w `kb/` ani w audycie. Recon 08-26 błędnie stwierdził
|
||||
"remote nie istnieje" — sprawdził repo/pilota/bazę, nie odpytał Forgejo
|
||||
bezpośrednio.
|
||||
- **LEKCJA 1**: fakty wykonania muszą lądować w repo (lekcja 6 narty27 w
|
||||
praktyce — zgubiliśmy całe repo na 5 tygodni).
|
||||
- **LEKCJA 2**: recon zasobów zewnętrznych odpytuje źródło wprost, nie
|
||||
wnioskuje z planów.
|
||||
- **Rekonсyliacja** — porównanie dwóch niezależnych kompilacji `fll-2025-26`
|
||||
(lipiec paperless-only vs sierpień paperless+gmail): komplementarne, zero
|
||||
sprzeczności w faktach wspólnych; konwergencja metodologiczna (obie sesje
|
||||
ten sam chunk 277/278, obie odmówiły potwierdzenia nieczytelnego OCR).
|
||||
Scalenie: 21 envelope, 38 par sources, 45 przypisów re-zweryfikowanych;
|
||||
naprawiony wadliwy lipcowy przypis; konwencja "Brak danych w KB"
|
||||
sformalizowana. Potem mbank+paweł przeniesione do kanonicznego repo,
|
||||
konwencje (d)-(f) scalone, walidator w repo. Stan końcowy kb-wiki@Forgejo
|
||||
`a540a99`: 7 stron, lint 74/74 sources + 150/150 inline zielono.
|
||||
- **kb-wiki remote** przepięty HTTPS→SSH (port 222).
|
||||
- **Kandydat Etapu 2** wykryty SQL-em: `podmioty/future-minds` (organizator
|
||||
FLL, 8+ dokumentów).
|
||||
- **Follow-upy bez zmian**: rotacja sekretów (kb-postgres + `TG_TOKEN` —
|
||||
NADAL WISI), fix UID SEARCH, PDF-y, charset, R1/R2 z incydentu 26.08.
|
||||
|
||||
## Stan Fazy 5
|
||||
|
||||
- Etap 1 ✓ (2026-08-27). Next: Etap 2 — skala do 17+1 encji, lint w kodzie,
|
||||
skan charset/NUL, decyzja o integracji `source='wiki'` w retrievalu
|
||||
(inwariant 7 obowiązuje).
|
||||
23
docs/sessions/2026-08-27.md
Normal file
23
docs/sessions/2026-08-27.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
## Session 13:49
|
||||
|
||||
### Commits
|
||||
a97cec0 merge: task/drobne-fixy (resolve-requests 775, prune out of health-monitor, events doc, redeploy action_id)
|
||||
1dca438 fix(supervisor): apply started_at suffix to redeploy action_id too
|
||||
40d78ce docs: fix events layout drift in CLAUDE.md
|
||||
9a86843 fix(monitor): remove unfiltered docker container prune from health-monitor.sh
|
||||
89f75c3 fix(observer): make world/resolve-requests/ group-writable
|
||||
|
||||
### Files changed
|
||||
CLAUDE.md | 2 +-
|
||||
scripts/monitor/health-monitor.sh | 110 +++------------------
|
||||
scripts/observer/observer.py | 12 +++
|
||||
services/control-plane/src/supervisor.py | 40 ++++----
|
||||
.../control-plane/tests/test_incident_lifecycle.py | 17 ++++
|
||||
.../tests/test_supervisor_action_id_uniqueness.py | 50 +++++++++-
|
||||
6 files changed, 109 insertions(+), 122 deletions(-)
|
||||
|
||||
### Deploys
|
||||
- control-plane → VPS: tagged 4/4 images `:rollback-pre-drobnefixy`, `git pull` (03441a1→a97cec0) + `docker compose up -d --build --force-recreate` (direct, no deploy-local.sh, per 26.08 precedent). Result: 4/4 healthy, zero error/traceback in logs since restart, sha256 of observer.py and supervisor.py match HEAD, `world/resolve-requests/` mode 775 confirmed, incidents.json stable (md5 unchanged) over 3 observer cycles. 30s permission test: flag `test-perms-123` dropped via plain `ssh` as `oskar` (no docker exec) was picked up and deleted in ~5s with `WARNING - Resolve-request flag for unknown incident test-perms-123 — removing flag` — 775 confirmed working in practice.
|
||||
|
||||
### Narrative
|
||||
> _user-provided summary_
|
||||
|
|
@ -3,7 +3,7 @@ okf: "0.1"
|
|||
type: audit
|
||||
visibility: private
|
||||
status: active
|
||||
updated: 2026-08-26
|
||||
updated: 2026-08-27
|
||||
as_of: 2026-08-26
|
||||
links:
|
||||
- ../phases/kb-m5-faza3.md
|
||||
|
|
@ -663,7 +663,7 @@ wiki-kompilat:
|
|||
- **NUL w `entities` jsonb jest poważniejszy strukturalnie** — jeśli sesja
|
||||
kompilująca odpytuje `entities` bezpośrednio (nie tylko `document_chunk.text`),
|
||||
NUL bajt w jsonb może wywrócić parser po stronie klienta (Pythonowy
|
||||
`json`/`asyncpg` różnie reaguje na ` | ||||