Skip to content

Nowy IngestReport emituje kit_version równy wersji paczki (jeden źr… - #112

Merged
mikolaj92 merged 2 commits into
mainfrom
lokay/90
Oct 18, 2026
Merged

mikolaj92 merged 2 commits into
mainfrom
lokay/90

Conversation

@mikolaj92

@mikolaj92 mikolaj92 commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

Issue #90

Cel

Usunąć rozjazd wersji w nowych IngestReport przez pobieranie wersji z metadanych zainstalowanej paczki, bez zmiany historycznych raportów ani zależności runtime.

Kryteria

  • Nowy IngestReport i jego zapis JSON zawierają importlib.metadata.version('datasource-kit'); wersja nie jest drugim ręcznie utrzymywanym stringiem. Potwierdzony stan bazowy: manifest i metadane mają 0.14.3, raport emituje 0.14.0. [źródła: risk]
  • from_dict bez kit_version używa tej samej wartości domyślnej. Jawna wersja przekazana konstruktorowi oraz wersja odczytana z historycznego raportu pozostają niezmienione, również po zapisie i ponownym odczycie. [źródła: risk]
  • Nie powstają nowe funkcje testów jednostkowych. Istniejący test obejmuje regresję oraz zachowanie danych historycznych. Wszystkie lokalne kontrole przechodzą. [źródła: risk]
  • Import i generowanie raportu działają z zainstalowanej paczki poza katalogiem repozytorium, bez odczytu pyproject.toml w runtime i bez nowych zależności. [źródła: risk]

Kroki

  • Zacząć od stanu i kontroli bazowych, bez modyfikowania bieżącego checkoutu. git status --short był pusty. PYTHONDONTWRITEBYTECODE=1 .venv/bin/python -m pytest -q -p no:cacheprovider zakończyło się wynikiem 283 passed i jednym ostrzeżeniem Starlette. Ostrzeżenie nie jest błędem kontroli. Próba konstruktora potwierdziła regresję wersji. [źródła: risk]
  • W późniejszym zapisywalnym worktree ponownie sprawdzić stan i uruchomić kontrolę CI: uv run --group dev pytest -q. Odnotować wcześniejsze błędy, nie ukrywać ich zmianą asercji. Naprawy potrzebne do przejścia lokalnych kontroli pozostają w zakresie. [źródła: risk]
  • Rozszerzyć istniejący tests/test_cli.py::test_run_writes_json o porównanie wersji raportu z metadanymi i pyproject.toml oraz o konstruktor, brakujące pole i zachowanie jawnej wersji historycznej podczas roundtrip. Użyć tmp_path, aby zapisy nie zmieniały danych użytkownika. Przed poprawką potwierdzić niepowodzenie asercji wersji. [źródła: risk]
  • W src/datasource_kit/report.py zastąpić ręczne _KIT_VERSION wywołaniem importlib.metadata.version('datasource-kit'). Usunąć nieaktualny komentarz o synchronizowaniu stringa. Zachować wspólną wartość dla konstruktora i from_dict, bez nadpisywania istniejących raportów. Nie dodawać fikcyjnego fallbacku dla braku metadanych. [źródła: risk]
  • Sprawdzić import w osobnym procesie oraz instalację wheel w izolowanym środowisku poza katalogiem źródeł. Chroni to przed przypadkowym uzależnieniem runtime od checkoutu. Nie uruchamiać rzeczywistych źródeł ani migracji zapisanych raportów. [źródła: risk]
  • Tylko do odczytu: pyproject.toml jako źródło wersji i konfiguracji budowania; .github/workflows/ci.yml jako źródło polecenia kontroli; README.md jako opis działania. Ścieżki wymagane i te pliki sprawdzono: są plikami, a ich rozwiązane ścieżki pozostają wewnątrz checkoutu. Nie czytać planów innych perspektyw ani artefaktów syntezy. [źródła: risk]
  • Jeżeli zmiana wymaga dokumentacji, najpierw przeczytać cały dotykany dokument. Usunąć nieaktualne lub powielone fragmenty; liczba dodanych linii dokumentacji nie może przekroczyć liczby usuniętych. Opisywać wyłącznie działanie projektu, nie przebieg naprawy. [źródła: risk]

Zmienione pliki

src/datasource_kit/report.py |  3 ++-
 tests/test_cli.py            | 40 ++++++++++++++--------------------------
 2 files changed, 16 insertions(+), 27 deletions(-)

Checks

SHA: cd4402603f99586d0631320aabe82b93e1c661ec

name status reason
ci_green pass GitHub CI green at cd44026; expected green or no_ci at cd44026
local_tests pass 319 passed
merge_clean pass merge is clean
lockfile pass uv lock checks passed
secrets pass no secrets found
junk pass no generated junk files
no_new_comments pass no new comments or lint errors
no_unit_tests pass no new unit tests
weakened_tests pass no existing tests changed
encoded_rewrite pass no percent-encoded rewrites
docs pass no documentation expansion
plan_target pass diff touches planned files

Closes #90

Opened by lokay.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-18T18:16:44.436077Z d6556de PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@mikolaj92

Copy link
Copy Markdown
Owner Author

Lokay Check 1

SHA: d6556de97925ef0f407ce95e8e7ff879dee3f63e

Wynik: pending · CI: pending · tests: pending · tested=false

Uwagi i CI:

{
  "uwagi": [],
  "notes": [],
  "failed": [],
  "pending": [
    "test (3.12)",
    "test (3.13)"
  ]
}

@mikolaj92

Copy link
Copy Markdown
Owner Author

Lokay Check 1

SHA: d6556de97925ef0f407ce95e8e7ff879dee3f63e

Wynik: fix · CI: green · tests: green · tested=true

name status reason
ci_green pass GitHub CI green at d6556de; expected green or no_ci at d6556de
local_tests pass 319 passed
merge_clean pass merge is clean
lockfile pass uv lock checks passed
secrets pass no secrets found
junk pass no generated junk files
no_new_comments pass no new comments or lint errors
no_unit_tests pass no new unit tests
weakened_tests pass no existing tests changed
encoded_rewrite pass no percent-encoded rewrites
docs pass no documentation expansion
plan_target pass diff touches planned files

Uwagi i CI:

{
  "uwagi": [
    {
      "plik": "tests/test_cli.py",
      "linia_od": 4,
      "linia_do": 177,
      "pytanie": "scope",
      "p": 0.85,
      "uzasadnienie": "The version lookup is in scope, but the test-file cleanup also removes unrelated section headings. Those deletions do not implement or test kit_version and have no demonstrated CI requirement.\nAdding version and IngestReport imports for version assertions is relevant, but deleting the existing Helpers, validate verb, and run verb section headings is unrelated cleanup. These specific deletions are not needed to satisfy the issue or any stated CI requirement."
    }
  ],
  "notes": [],
  "failed": [],
  "pending": []
}

@mikolaj92

Copy link
Copy Markdown
Owner Author

Lokay Check 2

SHA: cd4402603f99586d0631320aabe82b93e1c661ec

Wynik: pending · CI: pending · tests: pending · tested=false

Uwagi i CI:

{
  "uwagi": [],
  "notes": [],
  "failed": [],
  "pending": [
    "test (3.13)"
  ]
}

@mikolaj92

Copy link
Copy Markdown
Owner Author

Lokay Check 2

SHA: cd4402603f99586d0631320aabe82b93e1c661ec

Wynik: merge · CI: green · tests: green · tested=true

name status reason
ci_green pass GitHub CI green at cd44026; expected green or no_ci at cd44026
local_tests pass 319 passed
merge_clean pass merge is clean
lockfile pass uv lock checks passed
secrets pass no secrets found
junk pass no generated junk files
no_new_comments pass no new comments or lint errors
no_unit_tests pass no new unit tests
weakened_tests pass no existing tests changed
encoded_rewrite pass no percent-encoded rewrites
docs pass no documentation expansion
plan_target pass diff touches planned files

Uwagi i CI:

{
  "uwagi": [],
  "notes": [],
  "failed": [],
  "pending": []
}

@mikolaj92
mikolaj92 merged commit 832b8ec into main Oct 18, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Nowy IngestReport emituje kit_version równy wersji paczki (jeden źr…

1 participant