artifacts(track): throwaway scripts for phase2_4_5_call_site_completion_20260621
Per the Tier 2 convention, throwaway scripts are committed as archival artifacts so future agents can understand what was tried during the track. 7 scripts: - verify_test_format.py: AST + indentation check for new test file - _check_line_endings.py: CRLF vs LF diagnostic - _find_tracks_line.py: locate line 27 entry in tracks.md - _verify_line_66.py: verify new line 66 content - _update_tracks_md.py: programmatic update of line 27 - _update_state_toml.py: programmatic update of state.toml - _fix_state_toml_crlf.py: restore CRLF after edits
This commit is contained in:
+5
@@ -0,0 +1,5 @@
|
||||
with open('conductor/tracks.md', 'rb') as f:
|
||||
content = f.read()
|
||||
crlf = content.count(b'\r\n')
|
||||
lf_only = content.count(b'\n') - crlf
|
||||
print(f'CRLF: {crlf}, LF-only: {lf_only}')
|
||||
@@ -0,0 +1,11 @@
|
||||
import sys
|
||||
import io
|
||||
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
||||
with open('conductor/tracks.md', 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
lines = content.split('\n')
|
||||
for i, line in enumerate(lines, 1):
|
||||
if line.startswith('| 27 |'):
|
||||
print(f'Line {i}: {line[:200]}...')
|
||||
print(f'...end: ...{line[-100:]}')
|
||||
break
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
with open('conductor/tracks/phase2_4_5_call_site_completion_20260621/state.toml', 'rb') as f:
|
||||
content = f.read()
|
||||
# Fix the single LF-only line by adding \r before the \n
|
||||
lines = content.split(b'\n')
|
||||
for i, line in enumerate(lines):
|
||||
if i < len(lines) - 1 and line and not line.endswith(b'\r'):
|
||||
lines[i] = line + b'\r'
|
||||
break
|
||||
content = b'\n'.join(lines)
|
||||
with open('conductor/tracks/phase2_4_5_call_site_completion_20260621/state.toml', 'wb') as f:
|
||||
f.write(content)
|
||||
crlf = content.count(b'\r\n')
|
||||
lf_only = content.count(b'\n') - crlf
|
||||
print(f'CRLF: {crlf}, LF-only: {lf_only}')
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
import re
|
||||
with open('conductor/tracks/phase2_4_5_call_site_completion_20260621/state.toml', 'r', encoding='utf-8', newline='') as f:
|
||||
content = f.read()
|
||||
content = content.replace('status = "active"', 'status = "completed"')
|
||||
content = content.replace('current_phase = 0', 'current_phase = 6')
|
||||
content = re.sub(r'phase_6a = \{ status = "pending", checkpointsha = ""', 'phase_6a = { status = "completed", checkpointsha = "224930d4"', content)
|
||||
content = re.sub(r'phase_6b = \{ status = "pending", checkpointsha = ""', 'phase_6b = { status = "completed", checkpointsha = "58346281"', content)
|
||||
content = re.sub(r'phase_6d = \{ status = "pending", checkpointsha = ""', 'phase_6d = { status = "completed", checkpointsha = "224930d4"', content)
|
||||
content = re.sub(r'phase_6e = \{ status = "pending", checkpointsha = ""', 'phase_6e = { status = "completed", checkpointsha = "fbc5e5aa"', content)
|
||||
content = re.sub(r'(t6[abcd]\d|tv_\d|t6e_\d) = \{ status = "pending", commit_sha = "",', r'\1 = { status = "completed", commit_sha = "see-phase-sha",', content)
|
||||
content = content.replace('phase_6a_broadcast_fixed = false', 'phase_6a_broadcast_fixed = true')
|
||||
content = content.replace('phase_6a_regression_test_passes = false', 'phase_6a_regression_test_passes = true')
|
||||
content = content.replace('phase_6b_openai_compat_migrated = false', 'phase_6b_openai_compat_migrated = true')
|
||||
content = content.replace('phase_6d_normalized_response_migrated = false', 'phase_6d_normalized_response_migrated = true')
|
||||
content = content.replace('phase_6e_tier2_analysis_committed = false', 'phase_6e_tier2_analysis_committed = true')
|
||||
content = content.replace('audit_weak_types_strict_passes = false', 'audit_weak_types_strict_passes = true')
|
||||
content = content.replace('audit_dataclass_coverage_strict_passes = false', 'audit_dataclass_coverage_strict_passes = true')
|
||||
content = content.replace('type_registry_check_passes = false', 'type_registry_check_passes = true')
|
||||
content = content.replace('last_updated = "2026-06-21"', 'last_updated = "2026-06-21"\n# TRACK COMPLETE 2026-06-21 - all 4 phases shipped')
|
||||
with open('conductor/tracks/phase2_4_5_call_site_completion_20260621/state.toml', 'w', encoding='utf-8', newline='') as f:
|
||||
f.write(content)
|
||||
print('state.toml updated')
|
||||
@@ -0,0 +1,15 @@
|
||||
with open('conductor/tracks.md', 'r', encoding='utf-8', newline='') as f:
|
||||
lines = f.readlines()
|
||||
new_line = '| 27 | A | [Phase 2/4/5 Call-Site Completion (post any_type_componentization)](#track-phase2-4-5-call-site-completion-20260621) | spec \u2713, plan \u2713, metadata \u2713, state \u2713, **SHIPPED 2026-06-21** with all 4 phases complete (6a broadcast fix + 6b ChatMessage + 6d UsageStats no-op + 6e Phase 3 cost analysis); 5 atomic commits on tier2 branch; broadcast() TypeError fixed; 20/20 provider tests pass; all 3 audits --strict pass; unblocks `code_path_audit_20260607`; report at `docs/reports/TRACK_COMPLETION_phase2_4_5_call_site_completion_20260621.md` | any_type_componentization_20260621 (parent; shipped 2026-06-21 with 48/89 sites + 1 runtime bug) | (NEW 2026-06-21; bugfix + refactor + test-infrastructure + Tier 2 cost analysis; **Phase 6a COMPLETE**: fixed 2 broadcast() callers in `src/app_controller.py:1849` + `src/events.py:115` (gui_2.py had no callers, verified by grep); added `tests/test_websocket_broadcast_regression.py` 4/4 pass; **Phase 6b COMPLETE**: migrated `_send_grok` + `_send_minimax` + `_send_llama` to `ChatMessage` API; 20/20 provider tests pass; **Phase 6d NO-OP**: `NormalizedResponse` already uses `UsageStats` throughout `openai_compatible.py`; **Phase 6e COMPLETE**: produced `docs/reports/PHASE3_TIER2_ANALYSIS.md` (253 lines; Tier 2 authoritative version); measured 104 history sites (vs Tier 1 estimate 112); discovered 3 hidden cross-references (_strip_private_keys, _extract_minimax_reasoning, _send_llama_native); refined cost estimates: anthropic 35-65us/turn (Tier 1 said 8-15), grok/qwen/llama ~400ns (Tier 1 said 2-8us); **deferred**: Phase 3 call-site migration (104 sites in ai_client.py) -> separate track post-audit; cross-phase coupling -> separate track; `audit_tier2_leaks.py` sandbox-pollution -> infra track; **does NOT merge `tier2/any_type_componentization_20260621` branch** per Tier 2 reconnaissance framing; **does NOT archive `conductor/tracks/phase2_4_5_call_site_completion_20260621/`** - user handles that) |\r\n'
|
||||
found = False
|
||||
for i, line in enumerate(lines):
|
||||
if line.startswith('| 27 |'):
|
||||
lines[i] = new_line
|
||||
found = True
|
||||
print(f'Replaced line {i+1}')
|
||||
break
|
||||
if not found:
|
||||
print('NOT FOUND')
|
||||
with open('conductor/tracks.md', 'w', encoding='utf-8', newline='') as f:
|
||||
f.writelines(lines)
|
||||
print('File written')
|
||||
@@ -0,0 +1,8 @@
|
||||
import sys
|
||||
import io
|
||||
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
||||
with open('conductor/tracks.md', 'r', encoding='utf-8') as f:
|
||||
lines = f.readlines()
|
||||
print(lines[65][:300])
|
||||
print('...END...')
|
||||
print(lines[65][-100:])
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
"""Verify test file format"""
|
||||
import ast
|
||||
with open('tests/test_websocket_broadcast_regression.py', 'rb') as f:
|
||||
content = f.read()
|
||||
crlf = content.count(b'\r\n')
|
||||
lf_only = content.count(b'\n') - crlf
|
||||
print(f'CRLF lines: {crlf}, LF-only lines: {lf_only}')
|
||||
tree = ast.parse(content.decode('utf-8'))
|
||||
funcs = [n.name for n in ast.walk(tree) if isinstance(n, ast.FunctionDef)]
|
||||
print(f'Functions: {funcs}')
|
||||
print('First function indent check:')
|
||||
for n in ast.walk(tree):
|
||||
if isinstance(n, ast.FunctionDef):
|
||||
# Get the function body lines
|
||||
body_line = n.body[0].lineno
|
||||
first_stmt = n.body[0]
|
||||
print(f' {n.name}: body[0] starts at line {body_line}, col_offset={first_stmt.col_offset}')
|
||||
break
|
||||
Reference in New Issue
Block a user