diff --git a/.claude/settings.json b/.claude/settings.json deleted file mode 100644 index f9ab3156..00000000 --- a/.claude/settings.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "permissions": { - "allow": [ - "Bash(python -c ' *)", - "Bash(python -m pytest tests/ -v --no-cov)", - "Bash(git -C /workspaces/model diff --stat)", - "Bash(python -c \"import moto; print\\('moto installed:', moto.__version__\\)\")", - "Bash(grep -E \"\\\\.\\(py|sql\\)$\")", - "Bash(xargs basename -a)", - "Bash(ls -la /workspaces/home 2>/dev/null | head -20)", - "Read(//workspaces/home/**)", - "Bash(command -v uv)", - "Bash(uv --version)", - "Bash(echo \"uv: $\\(uv --version\\)\")", - "Bash(python -m pyright --version)", - "Bash(npx --no-install pyright --version)", - "Bash(node /home/vscode/.npm/_npx/110e52990071af13/node_modules/pyright/dist/pyright.js --outputjson etl/hubspot/hubspotClient.py etl/hubspot/hubspotDataTodB.py etl/hubspot/project_data.py etl/hubspot/scripts/scraper/main.py backend/app/db/models/hubspot_project_data.py backend/app/db/models/hubspot_deal_data.py etl/hubspot/tests/test_scraper_handler.py etl/hubspot/tests/test_hubspot_data_to_db.py etl/hubspot/tests/test_hubspot_client_integration.py)", - "Bash(python -c \"import sys,json; d=json.load\\(sys.stdin\\); s=d['summary']; print\\('errors',s['errorCount'],'warnings',s['warningCount']\\); [print\\(f\\\\\"{x['severity']}: {x['file'].split\\('/'\\)[-1]}:{x['range']['start']['line']+1} {x['rule'] if 'rule' in x else ''} -- {x['message'].splitlines\\(\\)[0]}\\\\\"\\) for x in d['generalDiagnostics'] if x['severity']=='error']\")", - "Bash(node /home/vscode/.npm/_npx/110e52990071af13/node_modules/pyright/dist/pyright.js etl/hubspot/project_data.py backend/app/db/models/hubspot_project_data.py)", - "Bash(python -c \"import sqlmodel, sqlalchemy, hubspot; print\\('deps importable'\\)\")", - "Bash(python -m pytest --version)", - "Bash(python -m pytest etl/hubspot/tests/ -m \"not integration\" -p no:cacheprovider -o addopts=\"\" -q)", - "Bash(node /home/vscode/.npm/_npx/110e52990071af13/node_modules/pyright/dist/pyright.js --pythonpath /usr/local/bin/python etl/hubspot/project_data.py backend/app/db/models/hubspot_project_data.py)", - "Bash(node /home/vscode/.npm/_npx/110e52990071af13/node_modules/pyright/dist/pyright.js --pythonpath /usr/local/bin/python etl/hubspot/company_data.py)", - "Bash(python /tmp/inspect_project.py)", - "Read(//home/vscode/github/**)", - "Bash(find / -maxdepth 6 -type d -name assessment-model)", - "Bash(terraform fmt *)", - "Bash(terraform init *)", - "Bash(terraform validate *)", - "Bash(python -m pytest tests/orchestration/test_landlord_description_overrides_orchestrator.py -q)", - "Bash(python -m pytest tests/orchestration/test_landlord_description_overrides_orchestrator.py tests/repositories/landlord_overrides -q --no-cov)", - "Bash(python -m py_compile tests/infrastructure/chatgpt/test_chatgpt_column_classifier.py)", - "Bash(git add *)", - "Bash(git status *)", - "Bash(cp pyrightconfig.json /tmp/pyrightconfig.bak.json)", - "Bash(python3 -)", - "Bash(npx --yes pyright infrastructure/postgres/landlord_overrides_postgres_repository.py applications/landlord_description_overrides/handler.py tests/repositories/landlord_overrides/postgres/test_landlord_overrides_postgres_repository.py orchestration/classifiable_column.py)", - "Bash(git stash *)", - "Bash(npx --yes pyright applications/landlord_description_overrides/handler.py)", - "Bash(python3 -m pytest tests/repositories/landlord_overrides/postgres/test_landlord_overrides_postgres_repository.py -q)", - "Bash(python3 -m pytest tests/orchestration/test_landlord_description_overrides_orchestrator.py tests/repositories/landlord_overrides/ -q -p no:cov)", - "Bash(python3 -m pytest tests/orchestration/test_landlord_description_overrides_orchestrator.py tests/repositories/landlord_overrides/ -q)", - "Bash(cp pyrightconfig.json /tmp/pyrightconfig.bak2.json)", - "Bash(npx --yes pyright infrastructure/landlord_overrides/landlord_overrides_postgres_repository.py tests/repositories/landlord_overrides/postgres/test_landlord_overrides_postgres_repository.py)", - "Bash(GIT_EDITOR=true git rebase --continue)", - "Bash(git worktree *)", - "Bash(git branch *)", - "Bash(echo \"exit: $?\")", - "Bash(git reset *)", - "Bash(echo \"fetch-exit: $?\")", - "Bash(sed -n *)", - "Bash(set -e)", - "Bash(git rm *)", - "Bash(git ls-tree *)", - "Bash(command -v pyright)", - "Bash(git merge *)", - "Bash(git rev-list *)", - "Bash(git remote *)", - "Bash(git ls-remote *)", - "Bash(grep -v '\\\\.sample$')", - "Bash([ -f \".git/hooks/$h\" ])", - "Bash(python3 -m pytest tests/test_lambda_packaging.py -p no:cacheprovider --no-header -q)", - "Bash(python3 -m pytest tests/test_lambda_packaging.py -p no:cov --no-header -q)", - "Bash(python3 -m pytest tests/test_lambda_packaging.py --no-cov -p no:cacheprovider -q)", - "Bash(python3 -m pytest tests/test_lambda_packaging.py --no-cov -q)", - "Bash(python3 -m pyright tests/test_lambda_packaging.py)", - "Bash(python3 -m pytest tests/ --collect-only --no-cov -q)", - "Bash(python3 -c \"import yaml; [print\\(f, 'OK'\\) for f in ['.github/workflows/ddd_tests.yml','.github/workflows/unit_tests.yml'] if yaml.safe_load\\(open\\(f\\)\\)]\")", - "Bash(python3 -m pytest tests/ -q --no-cov)", - "Bash(python3 -c ' *)", - "Bash(python3 -m pyright --outputjson scripts/hyde/main.py)", - "Bash(python3 -c \"import json,sys; d=json.load\\(sys.stdin\\); s=d['summary']; print\\('errors:',s['errorCount'],'warnings:',s['warningCount']\\); [print\\(f\\\\\" L{e['range']['start']['line']+1}: {e['message'].splitlines\\(\\)[0]}\\\\\"\\) for e in d['generalDiagnostics'] if e['severity']=='error']\")", - "Bash(python3 -c \"import json,sys; d=json.load\\(sys.stdin\\); s=d['summary']; print\\('pyright errors:',s['errorCount'],'warnings:',s['warningCount']\\); [print\\(f\\\\\" L{e['range']['start']['line']+1}: {e['message'].splitlines\\(\\)[0]}\\\\\"\\) for e in d['generalDiagnostics'] if e['severity']=='error']\")", - "Bash(python3 main.py)", - "Bash(netstat -ltnp)", - "Bash(fuser 8000/tcp)", - "Bash(kill 351610 685390 351625)", - "Read(//proc/531213/net/**)", - "Bash(ps -p 351610 -o pid=)", - "Bash(python -)", - "Bash(python -m pytest \"datatypes/epc/domain/tests/test_from_rdsap_schema.py::TestRdSap20_0_0ReducedFieldSynthesis::test_cert_omitting_sap_windows_maps_without_missing_required_field\")", - "Bash(python -m pytest datatypes/epc/domain/tests/test_from_rdsap_schema.py infrastructure/epc_client/tests/test_mapper_corpus.py)", - "Bash(git -C /workspaces/model stash push -u -- datatypes/epc/schema/rdsap_schema_20_0_0.py datatypes/epc/domain/mapper.py datatypes/epc/domain/tests/test_from_rdsap_schema.py)", - "Bash(python -m pytest \"datatypes/epc/domain/tests/test_from_rdsap_schema.py::TestFromRdSapSchema21_0_1::test_total_floor_area\")", - "Bash(git -C /workspaces/model stash pop)", - "Bash(python -m pytest \"datatypes/epc/domain/tests/test_from_rdsap_schema.py::TestRdSap20_0_0ReducedFieldSynthesis::test_band_more_than_typical_scales_glazing_by_1_25\")", - "Bash(python -m pytest \"datatypes/epc/domain/tests/test_from_rdsap_schema.py::TestRdSap20_0_0ReducedFieldSynthesis\")", - "Bash(python -m pytest \"datatypes/epc/domain/tests/test_from_rdsap_schema.py::TestRdSap20_0_0ReducedFieldSynthesis::test_synthesised_glazing_type_routed_through_cascade\")", - "Bash(python -m pytest infrastructure/epc_client/tests/test_mapper_corpus.py -k \"wip_schema_20\" -q -p no:cov --no-header -rN)", - "Bash(python -m pytest infrastructure/epc_client/tests/test_mapper_corpus.py -k \"wip_schema_20\" -q --no-header)", - "Bash(timeout 150 python scripts/eon/find_epc_data.py)", - "Bash(python -m scripts.run_modelling_e2e --scenario-id 1266 --portfolio-id 785 --measures high_heat_retention_storage_heaters,solar_pv 709634 709635 709636 709638 709639 709640 709641 709642 709644)", - "Read(//home/vscode/.claude/skills/grill-me/**)", - "Bash(awk '{print $9, $5}')", - "Bash(grep -E \"\\\\.py$\")", - "Bash(python3 scripts/eon/harvest_certs.py)", - "Bash(python scripts/eon/harvest_certs.py)", - "Bash(git commit -q -m ' *)", - "Bash(timeout 250 npx -y pyright@1.1.410 datatypes/epc/domain/mapper.py)", - "Bash(git check-ignore *)", - "Bash(timeout 250 npx -y pyright@1.1.410 datatypes/epc/schema/rdsap_schema_18_0.py datatypes/epc/domain/mapper.py)", - "Bash(timeout 250 npx -y pyright@1.1.410 datatypes/epc/schema/rdsap_schema_17_1.py datatypes/epc/domain/mapper.py)", - "Bash(python -m scripts.run_modelling_e2e --scenario-id 1266 --portfolio-id 785 --measures high_heat_retention_storage_heaters,solar_pv 709634 709635 709636 709638 709639 709640 709641 709642 709643 709644 709645 709637)", - "Read(//workspaces/**)", - "Bash(python -m scripts.run_modelling_e2e --scenario-id 1266 --portfolio-id 785 --measures high_heat_retention_storage_heaters,solar_pv 709634)", - "Bash(python 2_export_data.py)", - "Bash(git commit -q -m 'Map RdSAP-Schema-17.0 certs to EpcPropertyData 🟥 *)", - "Bash(python -m py_compile tests/utilities/floats.py backend/app/db/functions/tests/test_portfolio_functions.py backend/documents_parser/tests/test_summary_pdf_mapper_chain.py backend/documents_parser/tests/test_heating_systems_corpus.py)", - "Bash(PYTHONPATH=/workspaces/model python -)", - "Bash(npx --no-install pyright datatypes/epc/schema/sap_schema_17_1.py datatypes/epc/domain/mapper.py datatypes/epc/domain/tests/test_from_sap_schema.py)", - "Bash(git commit -q -m 'Map full-SAP cert identity and scalar fields to EpcPropertyData 🟩 *)", - "Bash(npx --no-install pyright --outputjson datatypes/epc/domain/mapper.py)", - "Bash(git commit -q -m 'Carry full-SAP measured fabric U-value descriptions into the domain model 🟩 *)", - "Bash(python scripts/hyde/elmhurst_session.py --help)", - "Bash(python scripts/hyde/elmhurst_session.py status)", - "Bash(DISPLAY=:99 import -window root /tmp/hyde-viewer/elm_now2.png)", - "Bash(DISPLAY=:99 timeout 90 python scripts/hyde/elmhurst_explore.py \"https://rdsap10online.elmhurstenergy.co.uk/Processing/WebFormAddress.aspx?Guid=B44A0DB4-4C08-4241-B818-86F060172105&Referrer=https%3a%2f%2fmembers.elmhurstenergy.co.uk%2fRdsapZone%2fHome.aspx\")", - "Bash(DISPLAY=:99 timeout 90 python scripts/hyde/elmhurst_explore.py \"https://rdsap10online.elmhurstenergy.co.uk/Processing/WebFormPropertyDescription.aspx?Guid=B44A0DB4-4C08-4241-B818-86F060172105\")", - "Bash(DISPLAY=:99 timeout 90 python scripts/hyde/elmhurst_explore.py \"https://rdsap10online.elmhurstenergy.co.uk/Processing/WebFormAddress.aspx?Guid=B44A0DB4-4C08-4241-B818-86F060172105\")", - "Bash(DISPLAY=:99 timeout 150 python scripts/hyde/elmhurst_fill.py)", - "Bash(pkill -f \"rdsap10\\\\|for-testing\")", - "Bash(rm -f scripts/hyde/.elmhurst-session/Singleton*)", - "Bash(DISPLAY=:99 timeout 280 python -u scripts/hyde/elmhurst_fill.py --page property_description --commit)", - "Bash(npx --no-install pyright scripts/hyde/elmhurst_download.py)", - "Edit(/.claude/skills/expand-sap-accuracy-corpus/**)", - "Bash(PYTHONPATH=/workspaces/model python scripts/fetch_real_life_epc_sample.py 10093116528)", - "Bash(PYTHONPATH=/workspaces/model python -c ' *)", - "Bash(bash scripts/hyde/start_viewer.sh)", - "Bash(DISPLAY=:99 ELMHURST_URL=\"https://rdsap10online.elmhurstenergy.co.uk/Processing/WebFormAddress.aspx?Guid=B44A0DB4-4C08-4241-B818-86F060172105\" python scripts/hyde/elmhurst_session.py login)", - "Bash(break)", - "Bash(DISPLAY=:99 timeout 90 python /tmp/check_session.py)", - "Bash(pkill -9 -f \"elm_login_hold.py\")", - "Bash(pkill -9 -f \"elmhurst-session\")", - "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 150 python /tmp/elm_build_dims.py)", - "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 120 python /tmp/elm_dump_full.py Walls WebFormWalls.aspx)", - "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 120 python /tmp/elm_walls_disc.py)", - "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 120 python /tmp/elm_roof_disc.py)", - "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 120 python /tmp/elm_dump_full.py Openings WebFormOpenings.aspx)", - "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 120 python /tmp/elm_win_probe.py)", - "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 220 python /tmp/elm_build_openings.py)", - "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 120 python /tmp/elm_tab_probe.py)", - "Bash(ELM_ACCESS=\"P960-0001\" ELM_PWD=\"y22bseGUzr\" DISPLAY=:99 timeout 120 python /tmp/elm_del_probe.py)", - "Bash(npx --no-install pyright datatypes/epc/domain/epc_property_data.py datatypes/epc/domain/mapper.py domain/sap10_calculator/rdsap/cert_to_inputs.py)", - "Bash(PYTHONPATH=/workspaces/model python -m pytest domain/sap10_calculator/tests/test_sap_accuracy_corpus.py -q --no-cov)", - "Bash(PYTHONPATH=/workspaces/model python -m pytest tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py -q --no-cov)", - "Edit(/.claude/skills/epc-to-elmhurst-rdsap-inputs/**)", - "Bash(python3 -c \"import sys; sys.path.insert\\(0,'scripts/hyde'\\); import elmhurst_lib; print\\('elmhurst_lib imports OK:', [f for f in dir\\(elmhurst_lib\\) if not f.startswith\\('_'\\)][:12]\\)\")", - "Bash(PYTHONPATH=/workspaces/model python -m pytest tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py tests/infrastructure/epc_client/test_sap_accuracy_corpus.py -q --no-cov)", - "Bash(PYTHONPATH=/workspaces/model python scripts/fetch_real_life_epc_sample.py 10093116543)", - "Bash(echo \"---EXIT $?---\")", - "Bash(sudo apt-get update -o Dir::Etc::sourceparts=-)", - "Bash(apt-cache policy *)", - "Bash(sudo apt-get update)", - "Bash(bash scripts/hyde/start_viewer.sh restart)", - "Bash(echo \"=== listen sockets \\(port 6080 / 5900\\) ===\"; ss -ltnp 2>/dev/null | grep -E ':6080|:5900' || netstat -ltnp 2>/dev/null | grep -E ':6080|:5900' || echo \"ss/netstat unavailable\" *)", - "Read(//proc/5476/**)", - "Bash(sudo python -m playwright install-deps chromium)", - "Bash(python -m playwright install chromium)", - "Bash(python -m playwright --version)", - "Bash(pip show *)" - ], - "additionalDirectories": [ - "/tmp", - "/workspaces/model/scripts/hyde/.elmhurst-session" - ] - } -} diff --git a/.gitignore b/.gitignore index 9cb34cb3..9c77b311 100644 --- a/.gitignore +++ b/.gitignore @@ -304,6 +304,7 @@ backlog/* # Local Claude config files .claude/*modelling_cohort.csv .claude/settings.local.json +.claude/settings.json # Local EPC debug cache (scripts/eon) scripts/eon/epc_cache.pkl