giton 0.1.8__tar.gz → 0.1.11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. {giton-0.1.8 → giton-0.1.11}/.gitignore +36 -0
  2. giton-0.1.11/.giton/last_check.json +1 -0
  3. giton-0.1.11/.idea/workspace.xml +304 -0
  4. giton-0.1.11/.pyqual/llx_history.jsonl +1 -0
  5. giton-0.1.11/.pyqual/pipeline.db +0 -0
  6. giton-0.1.11/.pyqual/runtime_errors.json +158 -0
  7. giton-0.1.11/CHANGELOG.md +153 -0
  8. {giton-0.1.8 → giton-0.1.11}/PKG-INFO +248 -6
  9. {giton-0.1.8 → giton-0.1.11}/README.md +247 -5
  10. {giton-0.1.8 → giton-0.1.11}/SUMD.md +226 -69
  11. {giton-0.1.8 → giton-0.1.11}/SUMR.md +397 -156
  12. {giton-0.1.8 → giton-0.1.11}/TODO.md +30 -38
  13. giton-0.1.11/VERSION +1 -0
  14. {giton-0.1.8 → giton-0.1.11}/app.doql.less +1 -1
  15. {giton-0.1.8 → giton-0.1.11}/examples/plugins/README.md +1 -1
  16. {giton-0.1.8 → giton-0.1.11}/examples/plugins/test_plugin_lifecycle.py +1 -1
  17. {giton-0.1.8 → giton-0.1.11}/planfile.yaml +30 -82
  18. {giton-0.1.8 → giton-0.1.11}/project/README.md +2 -2
  19. {giton-0.1.8 → giton-0.1.11}/project/analysis.toon.yaml +72 -55
  20. {giton-0.1.8 → giton-0.1.11}/project/calls.mmd +65 -59
  21. giton-0.1.11/project/calls.png +0 -0
  22. {giton-0.1.8 → giton-0.1.11}/project/calls.toon.yaml +41 -37
  23. {giton-0.1.8 → giton-0.1.11}/project/calls.yaml +399 -356
  24. {giton-0.1.8 → giton-0.1.11}/project/compact_flow.mmd +1 -1
  25. giton-0.1.11/project/compact_flow.png +0 -0
  26. {giton-0.1.8 → giton-0.1.11}/project/context.md +43 -36
  27. {giton-0.1.8 → giton-0.1.11}/project/duplication.toon.yaml +13 -13
  28. {giton-0.1.8 → giton-0.1.11}/project/evolution.toon.yaml +17 -8
  29. giton-0.1.11/project/flow.mmd +26 -0
  30. giton-0.1.11/project/flow.png +0 -0
  31. giton-0.1.11/project/index.html +624 -0
  32. {giton-0.1.8 → giton-0.1.11}/project/logic.pl +47 -12
  33. {giton-0.1.8 → giton-0.1.11}/project/map.toon.yaml +56 -12
  34. {giton-0.1.8 → giton-0.1.11}/project/mermaid.export +50 -47
  35. {giton-0.1.8 → giton-0.1.11}/project/planfile-tickets.yaml +109 -71
  36. giton-0.1.11/project/project.toon.yaml +58 -0
  37. {giton-0.1.8 → giton-0.1.11}/project/prompt.txt +3 -5
  38. giton-0.1.11/project/validation.toon.yaml +156 -0
  39. {giton-0.1.8 → giton-0.1.11}/pyproject.toml +1 -1
  40. giton-0.1.11/pyqual.yaml +61 -0
  41. {giton-0.1.8 → giton-0.1.11}/src/giton/__init__.py +1 -1
  42. {giton-0.1.8 → giton-0.1.11}/src/giton/catalog.py +19 -10
  43. {giton-0.1.8 → giton-0.1.11}/src/giton/cli.py +27 -1
  44. giton-0.1.11/src/giton/fixups.py +68 -0
  45. {giton-0.1.8 → giton-0.1.11}/src/giton/plugins.py +24 -0
  46. {giton-0.1.8 → giton-0.1.11}/src/giton/policies.py +6 -0
  47. {giton-0.1.8 → giton-0.1.11}/src/giton/runner.py +2 -1
  48. {giton-0.1.8 → giton-0.1.11}/src/giton/shell.py +14 -3
  49. giton-0.1.11/src/giton/store.py +36 -0
  50. giton-0.1.11/tagi.toml +57 -0
  51. giton-0.1.11/tests/__init__.py +0 -0
  52. {giton-0.1.8 → giton-0.1.11}/tests/test_basic.py +1 -1
  53. giton-0.1.11/tests/test_fixups.py +84 -0
  54. {giton-0.1.8 → giton-0.1.11}/uv.lock +1 -1
  55. giton-0.1.8/.idea/workspace.xml +0 -254
  56. giton-0.1.8/CHANGELOG.md +0 -233
  57. giton-0.1.8/VERSION +0 -1
  58. giton-0.1.8/project/calls.png +0 -0
  59. giton-0.1.8/project/compact_flow.png +0 -0
  60. giton-0.1.8/project/flow.mmd +0 -26
  61. giton-0.1.8/project/flow.png +0 -0
  62. giton-0.1.8/project/index.html +0 -624
  63. giton-0.1.8/project/project.toon.yaml +0 -57
  64. /giton-0.1.8/.planfile/.koru/queue-runner.lock → /giton-0.1.11/.giton/last_diff.patch +0 -0
  65. {giton-0.1.8 → giton-0.1.11}/.idea/.gitignore +0 -0
  66. {giton-0.1.8 → giton-0.1.11}/.koru/event-store.jsonl +0 -0
  67. {giton-0.1.8 → giton-0.1.11}/.koru/events/observability.jsonl +0 -0
  68. {giton-0.1.8 → giton-0.1.11}/.koru/history.jsonl +0 -0
  69. {giton-0.1.8 → giton-0.1.11}/.koru/onboarding.json +0 -0
  70. {giton-0.1.8 → giton-0.1.11}/.koru/project.json +0 -0
  71. {giton-0.1.8 → giton-0.1.11}/.planfile/.koru/autonomous-state.json +0 -0
  72. {giton-0.1.8 → giton-0.1.11}/.planfile/.koru/autonomy-telemetry.json +0 -0
  73. {giton-0.1.8 → giton-0.1.11}/.planfile/.koru/event-store.jsonl +0 -0
  74. {giton-0.1.8 → giton-0.1.11}/.planfile/.koru/nfo-events.jsonl +0 -0
  75. {giton-0.1.8 → giton-0.1.11}/.planfile/.koru/operator-steps/mcp_koru.ticket +0 -0
  76. {giton-0.1.8 → giton-0.1.11}/.planfile/.koru/operator-steps/self_control.ticket +0 -0
  77. /giton-0.1.8/.planfile/sprints/current.yaml.lock → /giton-0.1.11/.planfile/.koru/queue-runner.lock +0 -0
  78. {giton-0.1.8 → giton-0.1.11}/.planfile/.koru/serve-endpoint.json +0 -0
  79. {giton-0.1.8 → giton-0.1.11}/.planfile/config.yaml +0 -0
  80. {giton-0.1.8 → giton-0.1.11}/.planfile/sprints/current.yaml +0 -0
  81. /giton-0.1.8/tests/__init__.py → /giton-0.1.11/.planfile/sprints/current.yaml.lock +0 -0
  82. {giton-0.1.8 → giton-0.1.11}/LICENSE +0 -0
  83. {giton-0.1.8 → giton-0.1.11}/examples/advanced/Dockerfile +0 -0
  84. {giton-0.1.8 → giton-0.1.11}/examples/advanced/README.md +0 -0
  85. {giton-0.1.8 → giton-0.1.11}/examples/advanced/logs/log.txt +0 -0
  86. {giton-0.1.8 → giton-0.1.11}/examples/advanced/main.py +0 -0
  87. {giton-0.1.8 → giton-0.1.11}/examples/basic/Dockerfile +0 -0
  88. {giton-0.1.8 → giton-0.1.11}/examples/basic/README.md +0 -0
  89. {giton-0.1.8 → giton-0.1.11}/examples/basic/logs/log.txt +0 -0
  90. {giton-0.1.8 → giton-0.1.11}/examples/basic/main.py +0 -0
  91. {giton-0.1.8 → giton-0.1.11}/examples/testing/Dockerfile +0 -0
  92. {giton-0.1.8 → giton-0.1.11}/examples/testing/README.md +0 -0
  93. {giton-0.1.8 → giton-0.1.11}/examples/testing/docker-compose.yml +0 -0
  94. {giton-0.1.8 → giton-0.1.11}/examples/testing/logs/log.txt +0 -0
  95. {giton-0.1.8 → giton-0.1.11}/examples/testing/sample_project/pyproject.toml +0 -0
  96. {giton-0.1.8 → giton-0.1.11}/examples/testing/sample_project/src/example.py +0 -0
  97. {giton-0.1.8 → giton-0.1.11}/examples/testing/sample_project/tests/test_example.py +0 -0
  98. {giton-0.1.8 → giton-0.1.11}/examples/testing/test_giton_integration.py +0 -0
  99. {giton-0.1.8 → giton-0.1.11}/goal.yaml +0 -0
  100. {giton-0.1.8 → giton-0.1.11}/koru.yaml +0 -0
  101. {giton-0.1.8 → giton-0.1.11}/prefact.yaml +0 -0
  102. {giton-0.1.8 → giton-0.1.11}/project.sh +0 -0
  103. {giton-0.1.8 → giton-0.1.11}/src/giton/__main__.py +0 -0
  104. {giton-0.1.8 → giton-0.1.11}/src/giton/config.py +0 -0
  105. {giton-0.1.8 → giton-0.1.11}/src/giton/context.py +0 -0
  106. {giton-0.1.8 → giton-0.1.11}/src/giton/history.py +0 -0
  107. {giton-0.1.8 → giton-0.1.11}/src/giton/hooks.py +0 -0
  108. {giton-0.1.8 → giton-0.1.11}/src/giton/interactive.py +0 -0
  109. {giton-0.1.8 → giton-0.1.11}/src/giton/repo_config.py +0 -0
  110. {giton-0.1.8 → giton-0.1.11}/testql-scenarios/generated-cli-tests.testql.toon.yaml +0 -0
  111. {giton-0.1.8 → giton-0.1.11}/testql-scenarios/generated-from-pytests.testql.toon.yaml +0 -0
  112. {giton-0.1.8 → giton-0.1.11}/tests/test_history.py +0 -0
  113. {giton-0.1.8 → giton-0.1.11}/tests/test_plugin_runner.py +0 -0
  114. {giton-0.1.8 → giton-0.1.11}/tests/test_policies.py +0 -0
  115. {giton-0.1.8 → giton-0.1.11}/tree.sh +0 -0
@@ -1,4 +1,40 @@
1
1
  # Byte-compiled / optimized / DLL files
2
+ .code2llm_cache/CHANGELOG_1779907987553799185_4611.pkl
3
+ .code2llm_cache/README_1779907987459059763_16649.pkl
4
+ .code2llm_cache/TODO_1779907883121753373_5729.pkl
5
+ .code2llm_cache/__init___1779907987533235380_89.pkl
6
+ .code2llm_cache/pyproject_1779907987342314383_1385.pkl
7
+ .code2llm_cache/CHANGELOG_1779905417944922310_7662.pkl
8
+ .code2llm_cache/CHANGELOG_1779907220574807621_3673.pkl
9
+ .code2llm_cache/README_1779903932642919439_1126.pkl
10
+ .code2llm_cache/README_1779904015237715648_3444.pkl
11
+ .code2llm_cache/README_1779904015533718505_965.pkl
12
+ .code2llm_cache/README_1779905392700958221_1661.pkl
13
+ .code2llm_cache/README_1779905555842802519_12870.pkl
14
+ .code2llm_cache/README_1779907072908513739_1662.pkl
15
+ .code2llm_cache/README_1779907191972957017_16648.pkl
16
+ .code2llm_cache/TODO_1779904864111965833_6393.pkl
17
+ .code2llm_cache/TODO_1779907220574073163_8450.pkl
18
+ .code2llm_cache/__init___1779905417922057002_88.pkl
19
+ .code2llm_cache/__init___1779906995292548951_88.pkl
20
+ .code2llm_cache/catalog_1779905691852305588_4928.pkl
21
+ .code2llm_cache/catalog_1779907018279836889_4936.pkl
22
+ .code2llm_cache/cli_1779907055819303084_15140.pkl
23
+ .code2llm_cache/fixups_1779906876296024722_1587.pkl
24
+ .code2llm_cache/generated-cli-tests.testql.toon_1779904634603337932_424.pkl
25
+ .code2llm_cache/generated-from-pytests.testql.toon_1779904634603252443_338.pkl
26
+ .code2llm_cache/goal_1779905005189289004_12303.pkl
27
+ .code2llm_cache/planfile_1779904864102431257_14249.pkl
28
+ .code2llm_cache/planfile_1779907220565297896_12633.pkl
29
+ .code2llm_cache/plugins_1779905957461346632_4438.pkl
30
+ .code2llm_cache/policies_1779906860328815436_5286.pkl
31
+ .code2llm_cache/prefact_1779904572038122853_1711.pkl
32
+ .code2llm_cache/pyproject_1779905417637858229_1384.pkl
33
+ .code2llm_cache/pyproject_1779906997336574634_1384.pkl
34
+ .code2llm_cache/pyqual_1779905656266227594_2067.pkl
35
+ .code2llm_cache/runner_1779906889036190847_3705.pkl
36
+ .code2llm_cache/shell_1779907048863217061_7485.pkl
37
+ .code2llm_cache/store_1779906865959889384_1032.pkl
2
38
  .code2llm_cache/Dockerfile_1779904106733599983_1063.pkl
3
39
  .code2llm_cache/Dockerfile_1779904204018542516_855.pkl
4
40
  .code2llm_cache/Dockerfile_1779904222125718170_858.pkl
@@ -0,0 +1 @@
1
+ []
@@ -0,0 +1,304 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="AutoImportSettings">
4
+ <option name="autoReloadType" value="SELECTIVE" />
5
+ </component>
6
+ <component name="ChangeListManager">
7
+ <list default="true" id="9532a670-1f01-4d5e-9501-f3491f105c64" name="Changes" comment="">
8
+ <change afterPath="$PROJECT_DIR$/.giton/last_check.json" afterDir="false" />
9
+ <change afterPath="$PROJECT_DIR$/.giton/last_diff.patch" afterDir="false" />
10
+ <change afterPath="$PROJECT_DIR$/.pyqual/llx_history.jsonl" afterDir="false" />
11
+ <change afterPath="$PROJECT_DIR$/.pyqual/pipeline.db" afterDir="false" />
12
+ <change afterPath="$PROJECT_DIR$/.pyqual/runtime_errors.json" afterDir="false" />
13
+ <change afterPath="$PROJECT_DIR$/project/validation.toon.yaml" afterDir="false" />
14
+ <change afterPath="$PROJECT_DIR$/pyqual.yaml" afterDir="false" />
15
+ <change afterPath="$PROJECT_DIR$/src/giton/fixups.py" afterDir="false" />
16
+ <change afterPath="$PROJECT_DIR$/src/giton/store.py" afterDir="false" />
17
+ <change afterPath="$PROJECT_DIR$/tests/test_fixups.py" afterDir="false" />
18
+ <change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
19
+ <change beforePath="$PROJECT_DIR$/CHANGELOG.md" beforeDir="false" afterPath="$PROJECT_DIR$/CHANGELOG.md" afterDir="false" />
20
+ <change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
21
+ <change beforePath="$PROJECT_DIR$/SUMD.md" beforeDir="false" afterPath="$PROJECT_DIR$/SUMD.md" afterDir="false" />
22
+ <change beforePath="$PROJECT_DIR$/SUMR.md" beforeDir="false" afterPath="$PROJECT_DIR$/SUMR.md" afterDir="false" />
23
+ <change beforePath="$PROJECT_DIR$/TODO.md" beforeDir="false" afterPath="$PROJECT_DIR$/TODO.md" afterDir="false" />
24
+ <change beforePath="$PROJECT_DIR$/VERSION" beforeDir="false" afterPath="$PROJECT_DIR$/VERSION" afterDir="false" />
25
+ <change beforePath="$PROJECT_DIR$/app.doql.less" beforeDir="false" afterPath="$PROJECT_DIR$/app.doql.less" afterDir="false" />
26
+ <change beforePath="$PROJECT_DIR$/examples/plugins/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/examples/plugins/README.md" afterDir="false" />
27
+ <change beforePath="$PROJECT_DIR$/examples/plugins/test_plugin_lifecycle.py" beforeDir="false" afterPath="$PROJECT_DIR$/examples/plugins/test_plugin_lifecycle.py" afterDir="false" />
28
+ <change beforePath="$PROJECT_DIR$/planfile.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/planfile.yaml" afterDir="false" />
29
+ <change beforePath="$PROJECT_DIR$/project/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/project/README.md" afterDir="false" />
30
+ <change beforePath="$PROJECT_DIR$/project/analysis.toon.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/project/analysis.toon.yaml" afterDir="false" />
31
+ <change beforePath="$PROJECT_DIR$/project/calls.mmd" beforeDir="false" afterPath="$PROJECT_DIR$/project/calls.mmd" afterDir="false" />
32
+ <change beforePath="$PROJECT_DIR$/project/calls.png" beforeDir="false" afterPath="$PROJECT_DIR$/project/calls.png" afterDir="false" />
33
+ <change beforePath="$PROJECT_DIR$/project/calls.toon.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/project/calls.toon.yaml" afterDir="false" />
34
+ <change beforePath="$PROJECT_DIR$/project/calls.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/project/calls.yaml" afterDir="false" />
35
+ <change beforePath="$PROJECT_DIR$/project/compact_flow.mmd" beforeDir="false" afterPath="$PROJECT_DIR$/project/compact_flow.mmd" afterDir="false" />
36
+ <change beforePath="$PROJECT_DIR$/project/compact_flow.png" beforeDir="false" afterPath="$PROJECT_DIR$/project/compact_flow.png" afterDir="false" />
37
+ <change beforePath="$PROJECT_DIR$/project/context.md" beforeDir="false" afterPath="$PROJECT_DIR$/project/context.md" afterDir="false" />
38
+ <change beforePath="$PROJECT_DIR$/project/duplication.toon.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/project/duplication.toon.yaml" afterDir="false" />
39
+ <change beforePath="$PROJECT_DIR$/project/evolution.toon.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/project/evolution.toon.yaml" afterDir="false" />
40
+ <change beforePath="$PROJECT_DIR$/project/flow.mmd" beforeDir="false" afterPath="$PROJECT_DIR$/project/flow.mmd" afterDir="false" />
41
+ <change beforePath="$PROJECT_DIR$/project/flow.png" beforeDir="false" afterPath="$PROJECT_DIR$/project/flow.png" afterDir="false" />
42
+ <change beforePath="$PROJECT_DIR$/project/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/project/index.html" afterDir="false" />
43
+ <change beforePath="$PROJECT_DIR$/project/logic.pl" beforeDir="false" afterPath="$PROJECT_DIR$/project/logic.pl" afterDir="false" />
44
+ <change beforePath="$PROJECT_DIR$/project/map.toon.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/project/map.toon.yaml" afterDir="false" />
45
+ <change beforePath="$PROJECT_DIR$/project/mermaid.export" beforeDir="false" afterPath="$PROJECT_DIR$/project/mermaid.export" afterDir="false" />
46
+ <change beforePath="$PROJECT_DIR$/project/planfile-tickets.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/project/planfile-tickets.yaml" afterDir="false" />
47
+ <change beforePath="$PROJECT_DIR$/project/project.toon.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/project/project.toon.yaml" afterDir="false" />
48
+ <change beforePath="$PROJECT_DIR$/project/prompt.txt" beforeDir="false" afterPath="$PROJECT_DIR$/project/prompt.txt" afterDir="false" />
49
+ <change beforePath="$PROJECT_DIR$/pyproject.toml" beforeDir="false" afterPath="$PROJECT_DIR$/pyproject.toml" afterDir="false" />
50
+ <change beforePath="$PROJECT_DIR$/src/giton/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/giton/__init__.py" afterDir="false" />
51
+ <change beforePath="$PROJECT_DIR$/src/giton/catalog.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/giton/catalog.py" afterDir="false" />
52
+ <change beforePath="$PROJECT_DIR$/src/giton/cli.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/giton/cli.py" afterDir="false" />
53
+ <change beforePath="$PROJECT_DIR$/src/giton/plugins.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/giton/plugins.py" afterDir="false" />
54
+ <change beforePath="$PROJECT_DIR$/src/giton/policies.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/giton/policies.py" afterDir="false" />
55
+ <change beforePath="$PROJECT_DIR$/src/giton/runner.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/giton/runner.py" afterDir="false" />
56
+ <change beforePath="$PROJECT_DIR$/src/giton/shell.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/giton/shell.py" afterDir="false" />
57
+ <change beforePath="$PROJECT_DIR$/tests/test_basic.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/test_basic.py" afterDir="false" />
58
+ <change beforePath="$PROJECT_DIR$/uv.lock" beforeDir="false" afterPath="$PROJECT_DIR$/uv.lock" afterDir="false" />
59
+ </list>
60
+ <option name="SHOW_DIALOG" value="false" />
61
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
62
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
63
+ <option name="LAST_RESOLUTION" value="IGNORE" />
64
+ </component>
65
+ <component name="EmbeddingIndexingInfo">
66
+ <option name="cachedIndexableFilesCount" value="11" />
67
+ <option name="fileBasedEmbeddingIndicesEnabled" value="true" />
68
+ </component>
69
+ <component name="Git.Settings">
70
+ <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
71
+ </component>
72
+ <component name="McpProjectServerCommands">
73
+ <commands />
74
+ <urls />
75
+ </component>
76
+ <component name="NextEditCompletionFeaturesState">
77
+ <decayedCancelled>
78
+ <entry key="MS100" value="1.000626629593901" />
79
+ <entry key="MS500" value="1.3474547105087502" />
80
+ <entry key="S2" value="2.299062408799881" />
81
+ <entry key="S5" value="2.879159176344767" />
82
+ <entry key="S10" value="3.29780586236417" />
83
+ <entry key="S30" value="4.5619217886650905" />
84
+ <entry key="S60" value="8.510698471998843" />
85
+ <entry key="M2" value="16.197912576453326" />
86
+ <entry key="M5" value="27.20817306084746" />
87
+ <entry key="M10" value="36.7649296332469" />
88
+ <entry key="M15" value="44.63680826971" />
89
+ <entry key="M30" value="64.64246517319611" />
90
+ <entry key="H1" value="90.45345014762542" />
91
+ <entry key="H2" value="113.7057299461935" />
92
+ <entry key="H4" value="129.78203065251657" />
93
+ <entry key="D1" value="146.29469140909248" />
94
+ <entry key="W1" value="149.46173520193867" />
95
+ </decayedCancelled>
96
+ <decayedSelected>
97
+ <entry key="MS100" value="0.0" />
98
+ <entry key="MS500" value="0.0" />
99
+ <entry key="S2" value="2.6777173945374876E-292" />
100
+ <entry key="S5" value="2.350205811911912E-117" />
101
+ <entry key="S10" value="4.847892131547398E-59" />
102
+ <entry key="S30" value="3.6462881215252047E-20" />
103
+ <entry key="S60" value="1.9095256273549177E-10" />
104
+ <entry key="M2" value="1.3818558776868348E-5" />
105
+ <entry key="M5" value="0.011388389402914416" />
106
+ <entry key="M10" value="0.1093780613901668" />
107
+ <entry key="M15" value="0.2443068182295231" />
108
+ <entry key="M30" value="0.6134496780887745" />
109
+ <entry key="H1" value="1.0617370782557654" />
110
+ <entry key="H2" value="1.4406521470087326" />
111
+ <entry key="H4" value="1.6924979425234543" />
112
+ <entry key="D1" value="1.9443277098997036" />
113
+ <entry key="W1" value="1.9919303761320015" />
114
+ </decayedSelected>
115
+ <decayedShown>
116
+ <entry key="MS100" value="0.9018006769737412" />
117
+ <entry key="MS500" value="1.287791642456852" />
118
+ <entry key="S2" value="2.242512558727218" />
119
+ <entry key="S5" value="2.8481533756157105" />
120
+ <entry key="S10" value="3.280457325317064" />
121
+ <entry key="S30" value="4.555439436408175" />
122
+ <entry key="S60" value="8.5067857575891" />
123
+ <entry key="M2" value="16.195328688872355" />
124
+ <entry key="M5" value="27.21810728679142" />
125
+ <entry key="M10" value="36.87321005819103" />
126
+ <entry key="M15" value="44.88011474548523" />
127
+ <entry key="M30" value="65.25509430430162" />
128
+ <entry key="H1" value="91.51460127868583" />
129
+ <entry key="H2" value="115.14601813426658" />
130
+ <entry key="H4" value="131.47432343315694" />
131
+ <entry key="D1" value="148.2389810937836" />
132
+ <entry key="W1" value="151.45366004279737" />
133
+ </decayedShown>
134
+ </component>
135
+ <component name="ProjectColorInfo"><![CDATA[{
136
+ "associatedIndex": 7,
137
+ "fromUser": false
138
+ }]]></component>
139
+ <component name="ProjectId" id="3EJfKRpCZISyXqeGwek7o89WO8p" />
140
+ <component name="ProjectViewState">
141
+ <option name="autoscrollFromSource" value="true" />
142
+ <option name="autoscrollToSource" value="true" />
143
+ <option name="hideEmptyMiddlePackages" value="true" />
144
+ <option name="showLibraryContents" value="true" />
145
+ </component>
146
+ <component name="PropertiesComponent"><![CDATA[{
147
+ "keyToString": {
148
+ "ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true",
149
+ "ModuleVcsDetector.initialDetectionPerformed": "true",
150
+ "RunOnceActivity.MCP Project settings loaded": "true",
151
+ "RunOnceActivity.ShowReadmeOnStart": "true",
152
+ "RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
153
+ "RunOnceActivity.git.unshallow": "true",
154
+ "RunOnceActivity.typescript.service.memoryLimit.init": "true",
155
+ "codeWithMe.voiceChat.enabledByDefault": "false",
156
+ "git-widget-placeholder": "main",
157
+ "last_opened_file_path": "/home/tom/github/semcod/testless",
158
+ "node.js.detected.package.eslint": "true",
159
+ "node.js.selected.package.eslint": "(autodetect)",
160
+ "nodejs_package_manager_path": "npm"
161
+ }
162
+ }]]></component>
163
+ <component name="RecentsManager">
164
+ <key name="CopyFile.RECENT_KEYS">
165
+ <recent name="$PROJECT_DIR$" />
166
+ </key>
167
+ </component>
168
+ <component name="RunManager">
169
+ <configuration default="true" type="PythonConfigurationType" factoryName="Python">
170
+ <module name="giton" />
171
+ <option name="ENV_FILES" value="" />
172
+ <option name="INTERPRETER_OPTIONS" value="" />
173
+ <option name="PARENT_ENVS" value="true" />
174
+ <envs>
175
+ <env name="PYTHONUNBUFFERED" value="1" />
176
+ </envs>
177
+ <option name="SDK_HOME" value="" />
178
+ <option name="WORKING_DIRECTORY" value="" />
179
+ <option name="IS_MODULE_SDK" value="false" />
180
+ <option name="ADD_CONTENT_ROOTS" value="true" />
181
+ <option name="ADD_SOURCE_ROOTS" value="true" />
182
+ <option name="DEBUG_JUST_MY_CODE" value="false" />
183
+ <option name="RUN_TOOL" value="" />
184
+ <option name="SCRIPT_NAME" value="" />
185
+ <option name="PARAMETERS" value="" />
186
+ <option name="SHOW_COMMAND_LINE" value="false" />
187
+ <option name="EMULATE_TERMINAL" value="false" />
188
+ <option name="MODULE_MODE" value="false" />
189
+ <option name="REDIRECT_INPUT" value="false" />
190
+ <option name="INPUT_FILE" value="" />
191
+ <method v="2" />
192
+ </configuration>
193
+ <configuration default="true" type="Tox" factoryName="Tox">
194
+ <module name="giton" />
195
+ <option name="ENV_FILES" value="" />
196
+ <option name="INTERPRETER_OPTIONS" value="" />
197
+ <option name="PARENT_ENVS" value="true" />
198
+ <option name="SDK_HOME" value="" />
199
+ <option name="WORKING_DIRECTORY" value="" />
200
+ <option name="IS_MODULE_SDK" value="false" />
201
+ <option name="ADD_CONTENT_ROOTS" value="true" />
202
+ <option name="ADD_SOURCE_ROOTS" value="true" />
203
+ <option name="DEBUG_JUST_MY_CODE" value="false" />
204
+ <option name="RUN_TOOL" value="" />
205
+ <method v="2" />
206
+ </configuration>
207
+ <configuration default="true" type="docs" factoryName="Docutils task">
208
+ <module name="giton" />
209
+ <option name="ENV_FILES" value="" />
210
+ <option name="INTERPRETER_OPTIONS" value="" />
211
+ <option name="PARENT_ENVS" value="true" />
212
+ <option name="SDK_HOME" value="" />
213
+ <option name="WORKING_DIRECTORY" value="" />
214
+ <option name="IS_MODULE_SDK" value="false" />
215
+ <option name="ADD_CONTENT_ROOTS" value="true" />
216
+ <option name="ADD_SOURCE_ROOTS" value="true" />
217
+ <option name="DEBUG_JUST_MY_CODE" value="false" />
218
+ <option name="RUN_TOOL" value="" />
219
+ <option name="docutils_input_file" value="" />
220
+ <option name="docutils_output_file" value="" />
221
+ <option name="docutils_params" value="" />
222
+ <option name="docutils_task" value="" />
223
+ <option name="docutils_open_in_browser" value="false" />
224
+ <method v="2" />
225
+ </configuration>
226
+ <configuration default="true" type="docs" factoryName="Sphinx task">
227
+ <module name="giton" />
228
+ <option name="ENV_FILES" value="" />
229
+ <option name="INTERPRETER_OPTIONS" value="" />
230
+ <option name="PARENT_ENVS" value="true" />
231
+ <option name="SDK_HOME" value="" />
232
+ <option name="WORKING_DIRECTORY" value="" />
233
+ <option name="IS_MODULE_SDK" value="false" />
234
+ <option name="ADD_CONTENT_ROOTS" value="true" />
235
+ <option name="ADD_SOURCE_ROOTS" value="true" />
236
+ <option name="DEBUG_JUST_MY_CODE" value="false" />
237
+ <option name="RUN_TOOL" value="" />
238
+ <option name="docutils_input_file" value="" />
239
+ <option name="docutils_output_file" value="" />
240
+ <option name="docutils_params" value="" />
241
+ <option name="docutils_task" value="" />
242
+ <option name="docutils_open_in_browser" value="false" />
243
+ <method v="2" />
244
+ </configuration>
245
+ <configuration default="true" type="tests" factoryName="Autodetect">
246
+ <module name="giton" />
247
+ <option name="ENV_FILES" value="" />
248
+ <option name="INTERPRETER_OPTIONS" value="" />
249
+ <option name="PARENT_ENVS" value="true" />
250
+ <option name="SDK_HOME" value="" />
251
+ <option name="WORKING_DIRECTORY" value="" />
252
+ <option name="IS_MODULE_SDK" value="false" />
253
+ <option name="ADD_CONTENT_ROOTS" value="true" />
254
+ <option name="ADD_SOURCE_ROOTS" value="true" />
255
+ <option name="DEBUG_JUST_MY_CODE" value="false" />
256
+ <option name="RUN_TOOL" value="" />
257
+ <option name="_new_additionalArguments" value="&quot;&quot;" />
258
+ <option name="_new_target" value="&quot;&quot;" />
259
+ <option name="_new_targetType" value="&quot;PATH&quot;" />
260
+ <method v="2" />
261
+ </configuration>
262
+ <configuration default="true" type="tests" factoryName="Doctests">
263
+ <module name="giton" />
264
+ <option name="ENV_FILES" value="" />
265
+ <option name="INTERPRETER_OPTIONS" value="" />
266
+ <option name="PARENT_ENVS" value="true" />
267
+ <option name="SDK_HOME" value="" />
268
+ <option name="WORKING_DIRECTORY" value="" />
269
+ <option name="IS_MODULE_SDK" value="false" />
270
+ <option name="ADD_CONTENT_ROOTS" value="true" />
271
+ <option name="ADD_SOURCE_ROOTS" value="true" />
272
+ <option name="DEBUG_JUST_MY_CODE" value="false" />
273
+ <option name="RUN_TOOL" value="" />
274
+ <option name="SCRIPT_NAME" value="" />
275
+ <option name="CLASS_NAME" value="" />
276
+ <option name="METHOD_NAME" value="" />
277
+ <option name="FOLDER_NAME" value="" />
278
+ <option name="TEST_TYPE" value="TEST_SCRIPT" />
279
+ <option name="PATTERN" value="" />
280
+ <option name="USE_PATTERN" value="false" />
281
+ <method v="2" />
282
+ </configuration>
283
+ </component>
284
+ <component name="SharedIndexes">
285
+ <attachedChunks>
286
+ <set>
287
+ <option value="bundled-python-sdk-c59985aa861c-c2ffad84badb-com.jetbrains.pycharm.pro.sharedIndexes.bundled-PY-261.24374.152" />
288
+ </set>
289
+ </attachedChunks>
290
+ </component>
291
+ <component name="TaskManager">
292
+ <task active="true" id="Default" summary="Default task">
293
+ <changelist id="9532a670-1f01-4d5e-9501-f3491f105c64" name="Changes" comment="" />
294
+ <created>1779901530223</created>
295
+ <option name="number" value="Default" />
296
+ <option name="presentableId" value="Default" />
297
+ <updated>1779901530223</updated>
298
+ </task>
299
+ <servers />
300
+ </component>
301
+ <component name="TypeScriptGeneratedFilesManager">
302
+ <option name="version" value="3" />
303
+ </component>
304
+ </project>
@@ -0,0 +1 @@
1
+ {"timestamp": "2026-05-27T18:51:27.425644+00:00", "stage": "fix", "command": "llx fix . --apply $([ -f TODO.md ] && echo '--errors TODO.md')", "returncode": 0, "duration_s": 4.23, "ok": true, "stdout_tail": " │\n│ Complexity: │\n│ Avg CC: 0.00 │\n│ Max CC: 0 │\n│ Critical functions: 0 │\n│ God modules: 0 │\n│ │\n│ Coupling: │\n│ Max fan-out: 0 │\n│ Max fan-in: 0 │\n│ Dep cycles: 0 │\n│ Hotspots: 0 │\n│ │\n│ Quality: │\n│ Duplication groups: 0 │\n│ Duplicated lines: 0 │\n│ VallM pass rate: 100.0% │\n│ VallM issues: 0 │\n│ │\n│ Context: │\n│ Task scope: cross_module │\n│ Est. tokens: 34,166 │\n│ Languages: py, sh │\n╰──────────────────────────────────────────────────────────────────────────────╯\n\nGenerated fixes:\n✗ Error generating fixes: 'NoneType' object has no attribute 'content'\n"}
Binary file
@@ -0,0 +1,158 @@
1
+ [
2
+ {
3
+ "timestamp": "2026-05-27T18:16:38.611134+00:00",
4
+ "stage": "test",
5
+ "command": "pytest --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json -q",
6
+ "tool": "pytest",
7
+ "returncode": 2,
8
+ "duration_s": 0.842,
9
+ "error_type": "unknown",
10
+ "message": "1 error in 0.33s",
11
+ "stdout_tail": "(name[level:], package, level)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nexamples/testing/sample_project/tests/test_example.py:6: in <module>\n from src.example import add, multiply, divide\nE ModuleNotFoundError: No module named 'src'\n=========================== short test summary info ============================\nERROR examples/testing/sample_project/tests/test_example.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n1 error in 0.33s\n",
12
+ "stderr_tail": ""
13
+ },
14
+ {
15
+ "timestamp": "2026-05-27T18:18:52.444530+00:00",
16
+ "stage": "test",
17
+ "command": "pytest --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json -q",
18
+ "tool": "pytest",
19
+ "returncode": 2,
20
+ "duration_s": 2.534,
21
+ "error_type": "unknown",
22
+ "message": "1 error in 0.81s",
23
+ "stdout_tail": "(name[level:], package, level)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nexamples/testing/sample_project/tests/test_example.py:6: in <module>\n from src.example import add, multiply, divide\nE ModuleNotFoundError: No module named 'src'\n=========================== short test summary info ============================\nERROR examples/testing/sample_project/tests/test_example.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n1 error in 0.81s\n",
24
+ "stderr_tail": ""
25
+ },
26
+ {
27
+ "timestamp": "2026-05-27T18:21:02.160477+00:00",
28
+ "stage": "test",
29
+ "command": "pytest --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json -q",
30
+ "tool": "pytest",
31
+ "returncode": 2,
32
+ "duration_s": 0.772,
33
+ "error_type": "unknown",
34
+ "message": "1 error in 0.31s",
35
+ "stdout_tail": "(name[level:], package, level)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nexamples/testing/sample_project/tests/test_example.py:6: in <module>\n from src.example import add, multiply, divide\nE ModuleNotFoundError: No module named 'src'\n=========================== short test summary info ============================\nERROR examples/testing/sample_project/tests/test_example.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n1 error in 0.31s\n",
36
+ "stderr_tail": ""
37
+ },
38
+ {
39
+ "timestamp": "2026-05-27T18:49:20.487714+00:00",
40
+ "stage": "validate",
41
+ "command": "vallm batch . --recursive --format toon --output ./project --exclude .git,.venv,.venv_test,build,dist,__pycache__,.pytest_cache,.code2llm_cache,.benchmarks,.mypy_cache,.ruff_cache,node_modules",
42
+ "tool": "vallm-filtered",
43
+ "returncode": 124,
44
+ "duration_s": 300.106,
45
+ "error_type": "timeout",
46
+ "message": "Timeout after 300s",
47
+ "stdout_tail": "",
48
+ "stderr_tail": "Timeout after 300s"
49
+ },
50
+ {
51
+ "timestamp": "2026-05-27T18:51:28.444176+00:00",
52
+ "stage": "test",
53
+ "command": "pytest --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json -q",
54
+ "tool": "pytest",
55
+ "returncode": 2,
56
+ "duration_s": 1.008,
57
+ "error_type": "unknown",
58
+ "message": "1 error in 0.41s",
59
+ "stdout_tail": "(name[level:], package, level)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nexamples/testing/sample_project/tests/test_example.py:6: in <module>\n from src.example import add, multiply, divide\nE ModuleNotFoundError: No module named 'src'\n=========================== short test summary info ============================\nERROR examples/testing/sample_project/tests/test_example.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n1 error in 0.41s\n",
60
+ "stderr_tail": ""
61
+ },
62
+ {
63
+ "timestamp": "2026-05-27T18:53:40.646673+00:00",
64
+ "stage": "test",
65
+ "command": "pytest --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json -q",
66
+ "tool": "pytest",
67
+ "returncode": 2,
68
+ "duration_s": 0.772,
69
+ "error_type": "unknown",
70
+ "message": "1 error in 0.31s",
71
+ "stdout_tail": "(name[level:], package, level)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nexamples/testing/sample_project/tests/test_example.py:6: in <module>\n from src.example import add, multiply, divide\nE ModuleNotFoundError: No module named 'src'\n=========================== short test summary info ============================\nERROR examples/testing/sample_project/tests/test_example.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n1 error in 0.31s\n",
72
+ "stderr_tail": ""
73
+ },
74
+ {
75
+ "timestamp": "2026-05-27T18:54:39.601526+00:00",
76
+ "stage": "test",
77
+ "command": "pytest --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json -q",
78
+ "tool": "pytest",
79
+ "returncode": 4,
80
+ "duration_s": 0.166,
81
+ "error_type": "unknown",
82
+ "message": "ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]\npytest: error: unrecognized arguments: --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json",
83
+ "stdout_tail": "",
84
+ "stderr_tail": "ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]\npytest: error: unrecognized arguments: --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json\n inifile: /home/tom/github/semcod/gix/pyproject.toml\n rootdir: /home/tom/github/semcod/gix\n\n"
85
+ },
86
+ {
87
+ "timestamp": "2026-05-27T18:55:26.739750+00:00",
88
+ "stage": "test",
89
+ "command": "pytest --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json -q",
90
+ "tool": "pytest",
91
+ "returncode": 2,
92
+ "duration_s": 1.335,
93
+ "error_type": "unknown",
94
+ "message": "1 error in 0.52s",
95
+ "stdout_tail": "(name[level:], package, level)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nexamples/testing/sample_project/tests/test_example.py:6: in <module>\n from src.example import add, multiply, divide\nE ModuleNotFoundError: No module named 'src'\n=========================== short test summary info ============================\nERROR examples/testing/sample_project/tests/test_example.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n1 error in 0.52s\n",
96
+ "stderr_tail": ""
97
+ },
98
+ {
99
+ "timestamp": "2026-05-27T18:56:05.303707+00:00",
100
+ "stage": "test",
101
+ "command": "pytest --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json -q",
102
+ "tool": "pytest",
103
+ "returncode": 2,
104
+ "duration_s": 1.678,
105
+ "error_type": "unknown",
106
+ "message": "1 error in 0.72s",
107
+ "stdout_tail": "(name[level:], package, level)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nexamples/testing/sample_project/tests/test_example.py:6: in <module>\n from src.example import add, multiply, divide\nE ModuleNotFoundError: No module named 'src'\n=========================== short test summary info ============================\nERROR examples/testing/sample_project/tests/test_example.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n1 error in 0.72s\n",
108
+ "stderr_tail": ""
109
+ },
110
+ {
111
+ "timestamp": "2026-05-27T18:57:00.072079+00:00",
112
+ "stage": "test",
113
+ "command": "pytest --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json -q",
114
+ "tool": "pytest",
115
+ "returncode": 4,
116
+ "duration_s": 0.382,
117
+ "error_type": "unknown",
118
+ "message": "ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]\npytest: error: unrecognized arguments: --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json",
119
+ "stdout_tail": "",
120
+ "stderr_tail": "ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]\npytest: error: unrecognized arguments: --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json\n inifile: /home/tom/github/semcod/gix/pyproject.toml\n rootdir: /home/tom/github/semcod/gix\n\n"
121
+ },
122
+ {
123
+ "timestamp": "2026-05-27T18:58:39.470186+00:00",
124
+ "stage": "test",
125
+ "command": "pytest --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json -q",
126
+ "tool": "pytest",
127
+ "returncode": 2,
128
+ "duration_s": 1.426,
129
+ "error_type": "unknown",
130
+ "message": "1 error in 0.58s",
131
+ "stdout_tail": "(name[level:], package, level)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nexamples/testing/sample_project/tests/test_example.py:6: in <module>\n from src.example import add, multiply, divide\nE ModuleNotFoundError: No module named 'src'\n=========================== short test summary info ============================\nERROR examples/testing/sample_project/tests/test_example.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n1 error in 0.58s\n",
132
+ "stderr_tail": ""
133
+ },
134
+ {
135
+ "timestamp": "2026-05-27T18:59:34.001660+00:00",
136
+ "stage": "test",
137
+ "command": "pytest --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json -q",
138
+ "tool": "pytest",
139
+ "returncode": 4,
140
+ "duration_s": 0.273,
141
+ "error_type": "unknown",
142
+ "message": "ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]\npytest: error: unrecognized arguments: --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json",
143
+ "stdout_tail": "",
144
+ "stderr_tail": "ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]\npytest: error: unrecognized arguments: --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json\n inifile: /home/tom/github/semcod/gix/pyproject.toml\n rootdir: /home/tom/github/semcod/gix\n\n"
145
+ },
146
+ {
147
+ "timestamp": "2026-05-27T19:01:22.633775+00:00",
148
+ "stage": "test",
149
+ "command": "pytest --cov=pyqual --cov-branch --cov-report=json:.pyqual/coverage.json -q",
150
+ "tool": "pytest",
151
+ "returncode": 2,
152
+ "duration_s": 1.724,
153
+ "error_type": "unknown",
154
+ "message": "1 error in 0.73s",
155
+ "stdout_tail": "(name[level:], package, level)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nexamples/testing/sample_project/tests/test_example.py:6: in <module>\n from src.example import add, multiply, divide\nE ModuleNotFoundError: No module named 'src'\n=========================== short test summary info ============================\nERROR examples/testing/sample_project/tests/test_example.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n1 error in 0.73s\n",
156
+ "stderr_tail": ""
157
+ }
158
+ ]