71 lines
1.7 KiB
Python
71 lines
1.7 KiB
Python
from pathlib import Path
|
|
|
|
GENOME = Path('genomes/burn-fleet-GENOME.md')
|
|
|
|
|
|
def read_genome() -> str:
|
|
assert GENOME.exists(), 'burn-fleet genome must exist at genomes/burn-fleet-GENOME.md'
|
|
return GENOME.read_text(encoding='utf-8')
|
|
|
|
|
|
def test_genome_exists():
|
|
assert GENOME.exists(), 'burn-fleet genome must exist at genomes/burn-fleet-GENOME.md'
|
|
|
|
|
|
def test_genome_has_required_sections():
|
|
text = read_genome()
|
|
for heading in [
|
|
'# GENOME.md: burn-fleet',
|
|
'## Project Overview',
|
|
'## Architecture',
|
|
'## Entry Points',
|
|
'## Data Flow',
|
|
'## Key Abstractions',
|
|
'## API Surface',
|
|
'## Test Coverage Gaps',
|
|
'## Security Considerations',
|
|
]:
|
|
assert heading in text
|
|
|
|
|
|
def test_genome_contains_mermaid_diagram():
|
|
text = read_genome()
|
|
assert '```mermaid' in text
|
|
assert 'graph TD' in text or 'flowchart TD' in text
|
|
|
|
|
|
def test_genome_mentions_core_files_and_runtime_state():
|
|
text = read_genome()
|
|
for token in [
|
|
'fleet-spec.json',
|
|
'fleet-launch.sh',
|
|
'fleet-christen.py',
|
|
'fleet-dispatch.py',
|
|
'fleet-status.py',
|
|
'dispatch-state.json',
|
|
'tmux',
|
|
'ssh',
|
|
'MAC_ROUTE',
|
|
'ALLEGRO_ROUTE',
|
|
]:
|
|
assert token in text
|
|
|
|
|
|
def test_genome_mentions_test_gap_and_risk_findings():
|
|
text = read_genome()
|
|
for token in [
|
|
'0% estimated coverage',
|
|
'send_to_pane',
|
|
'comment_on_issue',
|
|
'get_pane_status',
|
|
'requests',
|
|
'command injection',
|
|
'credential handling',
|
|
]:
|
|
assert token in text
|
|
|
|
|
|
def test_genome_is_substantial():
|
|
text = read_genome()
|
|
assert len(text) >= 6000
|