Skip to content

[Kontynuacja 2026-09-15] Potwierdzona publikacja Issues: jawne repo, bledy synchronizacji i readback #88

Description

@tom-sapletta-com

Kontynuacja — semcod/planfile

Zasady wznowienia

Plan na 2026-09-15, stan BACKLOG/PLAN. Przed praca odczytac aktualny Git/Issues/PR/receipts, governance i istniejacy intent; wznowic pasujacy zakres. To przekazanie nie uruchamia wykonawcy ani nie tworzy writer lease, approval lub deployment. Testy, niezalezny review i chroniona publikacja pozostaja wymagane. Zachowac obca prace i dane; nie robic masowych upgrade ani nowych standardow bez potrzeby.

Zrodla zakresu: https://github.com/semcod/taskand-glm53/blob/0f9df49f33d6cd85006fe4e41378f06b7347d7dd/docs/refactoring/external-dependencies-handoff.md oraz https://github.com/wellmanifest/goal/blob/main/docs/information/goal-standard.md

Potwierdzona diagnoza — 2026-09-14

Kontrolowany test lokalny z zainstalowanym Planfile 0.1.124 potwierdził błąd. Wywołano rzeczywiste sync_integration z backendem testowym, którego create_ticket zgłasza RuntimeError(CONTROLLED_SYNC_FAILURE_NO_NETWORK). Backend GitHub nie był inicjalizowany i nie wykonano zewnętrznej mutacji.
Wynik: Failed to sync controlled-failure, następnie Sync with github completed successfully; funkcja wróciła normalnie, proces zakończył się kodem 0. Naprawa agregacji błędów pozostaje do wykonania, nie jest wdrożona.
Osobno rzeczywista kampania: 27 rekordów w 24 repo opublikowano przez Planfile i potwierdzono niezależnym GitHub API readback. Ponowienie create_ticket na realnym backendzie bez lokalnych remote ID zwróciło te same 27 Issues. Ta deduplikacja nie rozwiązuje problemu fałszywego sukcesu po awarii ani nie dowodzi odporności na równoczesne create.
Indeks: https://github.com/subactor/docs/issues/195

Dostarczony wycinek — 2026-09-15

Ticket-078 przydzielony standardowym allocatorem z wyraźną zgodą na --force-new. PR #93 SCALONY przez niezależnego Validatora. HEAD c224047, merge faa2dd0, exact-head approval 5205942508. Sześć kontroli PR: SUCCESS; gałąź zdalna usunięta.
CLI używa teraz fail-closed outbound batch: zapisuje udane mapowania, raportuje nieudane ID i kończy się kodem 1 bez komunikatu sukcesu. Dotyczy również sync all i watch --once. Po outbound failure kierunek both nie importuje danych nad lokalnym zadaniem. Ponowienie aktualizuje udane rekordy zamiast tworzyć je ponownie.
Testy: 19 ukierunkowanych PASS; lokalnie Python 3.13 i 3.10 po 538 PASS, 6 istniejących pominięć. Governance, Ruff, kontrola nakładających się zmian i budowa wheel/sdist: PASS. Testy awarii używały wyłącznie offline backendów.
Cudzy dirty radar zmienia operations.py; zachowano ten plik bez różnic wobec bazy, CLI korzysta z osobnego modułu outbound.py i istniejących helperów. Bezpośredni legacy API operations.sync_to_external nadal wymaga skoordynowanej naprawy. Pozostają też repo-scoped outbox, pełny machine-readable created/reused/updated/failed i automatyczny readback. Dlatego to Issue pozostaje OPEN. Nie wykonano globalnej aktualizacji runtime, wydania ani wdrożenia.

Audyt operacyjny i sugestia — 2026-09-15

Weryfikować faktyczny import/build digest, nie sam --version. Scalone PR93 nie zaktualizowało globalnego runtime 0.1.124. Dokończyć legacy API fail-closed, repo-scoped outbox i automatyczny readback; koordynować #86/#89/#91/#92/#94, zachować cudze zmiany.

Obserwowane przypięcia lokalnego checkoutu

HEAD repo: 40dbf7164fdebf62247c8609e838fa8941749492. Odczyt plików lokalnych; nie jest dowodem stanu default branch ani wdrożenia.
Nie znaleziono przypięć w badanych manifest.lock.json, worktrees.lock.json, docs.json i standard-adoption.json. UNKNOWN: sprawdzić profil source-hub/alternatywną adopcję, nie utożsamiać z brakiem wszystkich standardów.

GitHub latest release new-project: v0.20.31 / 2b016654cff1a1ccef2c0d6126a9c2550ae6b37a; Worktrees: v0.5.3 / 57bcd6b6f5d266fa9952824f1d89d4d45d8a386d. Docs ma rozbieżne kanały: latest GitHub Release v0.1.0 i nowszą gałąź domyślną aa92136b4e94f48355c39fb206286aba024c6aa4. Wybór najnowszej kompatybilnej wersji wymaga katalogu/profilu; samo releases/latest nie wystarcza.

Kryteria następnej implementacji

  • Potwierdzić pełny inventory ADOPT/HOME i wersje z chronionym katalogiem; rozróżnić latest compatible, drift, missing i unknown.
  • Zaplanować tylko kompatybilne wymagane migracje przez zarządzany updater, z canary i rollback; nie edytować ręcznie managed hashes.
  • Zmierzyć baseline i wynik usprawnienia (latencja, błędy, interwencje); zachować testy, exact-head review, limity authority i cudzą pracę.

Lokalna kolejka tej kampanii: .git/planfile/development-audit-20260915/queue/tickets.planfile.yaml. Lokalny runtime Planfile 0.1.125 z wheel SHA256 46a1859d89b046499d5a3efdd39e2e1254001257789c53e3668bc6af75a1710c; zależności współdzielone z Pythonem hosta (to nie hermetyczny lock środowiska). Globalny runtime pozostaje bez zmian. Kolejka/Issue to backlog, nie dowód implementacji lub wdrożenia. Kanoniczny raport przekrojowy należy do subactor/docs (#199).

Wynik realnego testu tej kampanii

2026-09-15: lokalny Planfile 0.1.125 zsynchronizował 25 rekordów w 24 repo (24 istniejące, jeden nowy). Niezależny GitHub API readback potwierdził repo, numer, tytuł, opis i pojedynczy marker dla 25/25. Ponowienie bez lokalnego ID/mapowania dla wellmanifest/worktrees#25 zwróciło ponownie #25, ale CLI wypisał Created. To dowód mylącego created/reused w realnym retry, nie podwójnego utworzenia.

Offline: kontrolowany wyjątek przy create w nowym outbound jest agregowany jako OutboundSyncError po zapisie stanu; dry-run nie wywołuje create/save. Legacy operations API nadal osobno. Zaobserwowano też shadowing importu przez cwd starego checkoutu przy python -c; -I wskazuje poprawny zainstalowany outbound.py. Doctor powinien raportować realny module path i digest, nie sam numer dystrybucji.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    managedAuto-created label for managedplanfileAuto-created label for planfile

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions