Parent: gloss. Follow-up to gloss/dimension-results-2026-09-18. Tested 2,048 and 3,072 dimensions, with a large-model 1,536-dimensional control.
The small model cannot supply vectors above 1,536 dimensions. Both notes and all 14,554 filtered dictionary atoms were therefore re-embedded with text-embedding-3-large. The 1,536-dimensional large-model control separates a model change at fixed width from size changes within the large model. Source text, vocabulary, token-weighted chunk pooling and matching-pursuit settings remain fixed. Prefixes of the cached 3,072-dimensional vectors were renormalized.
All 712 non-empty notes from the fixed 713-key snapshot were processed; one empty note excluded. Primary metrics cover 709 notes, excluding three Gloss write-ups. Four concurrent API requests; three parallel CPU jobs with five numerical threads each. API usage: 741,221 tokens over 81 successful requests; estimated $0.0964 at $0.13/million tokens. Local comparisons took 7.87s including worker startup.
| Model/size | Mean residual | Same first vs small1536 | Labels retained vs small1536 | Same first vs large3072 | Labels retained vs large3072 |
|---|---|---|---|---|---|
| small1536 | 0.7950 | 100.0% | 100.0% | 43.3% | 35.3% |
| large1536 | 0.7944 | 40.6% | 34.3% | 87.4% | 77.1% |
| large2048 | 0.7999 | 43.2% | 35.4% | 92.0% | 83.3% |
| large3072 | 0.8086 | 43.3% | 35.3% | 100.0% | 100.0% |
Agreement is stability, not semantic accuracy. Residual norms are not comparable quality scores between models or dimensional spaces. Complete statistics, including the 604-note subgroup without repetitive drain logs, are in summary.json.
Interpretation: changing the model has a much larger effect than increasing its width. Large at 1,536 dimensions retains only 34.3% of the small-model labels, but 77.1% of the large-3,072 labels. Large at 2,048 retains 83.3% of the large-3,072 labels and agrees on the first label for 92.0% of notes. These are comparisons of labels, never cross-model vector coordinates.
The inspection sample shows useful model changes already at 1,536 dimensions: representation-not-language gains the exact thesis label instead of open questions weak, and the exception policy replaces Perl with Python. Increasing to 3,072 does not change either improvement. Unsupported associations persist at every large-model size: the poem gains anniversary although the source states no occasion; the eclipse gains bristol parkway swansea, absent from its source. These examples do not establish a consistent quality gain from adding dimensions. Keep both cached models for further evaluation; do not adopt a larger vector solely on this evidence.
Validation: all 17 unit tests pass, including model-separated cache identities, API response-index handling and rejection of incorrect vector width. Runtime assertions validate every response vector and exact source-note alignment.
| Note | small1536 | large1536 | large2048 | large3072 |
|---|---|---|---|---|
| PROGRAMMING_RULES/philosophy | correctness notes; philosophies; arbitrary python | design philosophy; perl python; correctness notes | design philosophy; perl python; correctness notes | design philosophy; perl python; correctness notes |
| PROGRAMMING_RULES/exceptions | exception handling; perl python; general principles | exception handling; general principles; Python | exception handling; general principles; Python | exception handling; general principles; Python |
| ideas/concept-factorisation | concept notes; indexing; concept factorisation hierarchical | concept factorisation hierarchical; design notes; planned indexes | concept factorisation hierarchical; design notes; planned indexes | concept factorisation hierarchical; design notes; indexing |
| first-thoughts/representation-not-language | open questions weak; note embeddings; behavioural equivalence | representation not language; concept notes map; embeddings | representation not language; concept notes map; embeddings | representation not language; concept notes map; embeddings |
| gdata-server/notes/design | gdata notes; notes client; python module | notes client; python api; architecture overview | notes client; python module; webdav notes | notes client; python module; webdav notes |
| envoy/design-phases | implementation notes; processing state machine; envoyresponse schema | notes system envoy; finite state machine; design decisions supplement | implementation notes; finite state machine; envoy inbox drain | notes system envoy; finite state machine; design decisions supplement |
| README/orphaning | avoiding orphaned notes; metadata and links; design documentation | avoiding orphaned notes; design documentation; metadata and links | avoiding orphaned notes; design documentation; metadata and links | avoiding orphaned notes; design documentation; metadata and links |
| TFG/exercise-demo-protocol | functional exercise; review and handover; sample demonstrations | gym instructing; testing checklist; teaching points observation | gym instructing; documented workflow; teaching points observation | gym instructing; sample demonstrations; blueprint page checklist |
| using-gps-data | checks gazetteer comparisons; project notes; answered nearest station | gps fixes; comparisons postgis; visualisation convention | location database; automating gwr delay; comparisons postgis | location database; comparisons postgis; automating gwr delay |
| popit3/ops | maildir test completion; computer crash occurred; pops | email processing pipeline; gdatalockederror; cron runs | email processing pipeline; gdatalockederror; cron runs | email processing pipeline; gdatalockederror; cron runs |
| pwsafe/transport/plan | pwsafe article revision; transport plugin; current phase | webdav transport; pwsafe article revision; implementation plan | webdav transport; pwsafe article revision; implementation plan | webdav transport; pwsafe article revision; implementation plan |
| Z80-sudoku-challenge/code/deterministic-fill-loop | deterministic fill loop; address of cell; bit candidate mask | deterministic fill loop; sudoku challenge; buildcandidatemask | deterministic fill loop; sudoku solver; bit candidate mask | deterministic fill loop; sudoku solver; buildcandidatemask |
| delayrepay/session-2026-08-29-kombu-decommission | firefox vnc; kombu; automated via ansible | completion summary; automated via ansible; vnc dies | completion summary; automated via ansible; vnc dies | completion summary; automated via ansible; vnc dies |
| ask/jobs/schema | json schema; cover letters; docx generation | json schema; cover letters; architecture schema | json schema; cover letters; structured output | json schema; cover letters; structured output |
| location-db/outcodes-1deg | bristol bath newport; postcodes; cardiff gloucester swindon | cardiff gloucester swindon; postcodes; gazetteer comparisons | cardiff gloucester swindon; postcodes; gazetteer coordinates | cardiff gloucester swindon; postcodes; gazetteer comparisons |
| personal/interests | interests hobbies; GPS; john has asked | interests hobbies; home john aws; retrocomputing | interests hobbies; home john aws; retrocomputing | interests hobbies; retrocomputing; john actions item |
| proposals/section-editing | jsonhtl documentation improvements; completed section; semantic spec | addresses sections; editing robustness; jsonhtl spec | addresses sections; editing robustness; jsonhtl spec | addresses sections; editing robustness; jsonhtl spec |
| astronomy/eclipse-2026 | path of totality; bristol london; solar eclipse | path of totality; bristol parkway swansea; eclipsewise | path of totality; bristol parkway swansea; eclipsewise | path of totality; bristol parkway swansea; eclipsewise |
| poems/first-to-Kathy | kathy; summer poem; forever | kathy; poems; anniversary | kathy; poems; anniversary | kathy; poems; anniversary |
| uucp/setup-status | taylor uucp; existing stunnel; protocol restrictions | roles uucp; stunnel tls; sanity check | roles uucp; stunnel tls; sanity check | roles uucp; stunnel tls; sanity check |
| ansible | git ansible; private notes store; hostnames | ansible playbook; private notes; aws browser host | ansible playbook; private notes; aws browser host | ansible playbook; private notes; aws browser host |
| music/exercise-folk-rock | exercise music; functional exercise; shanties | exercise music; bodypump playlist importer; gathered notes | exercise music; bodypump playlist importer; folk | exercise music; bodypump playlist importer; folk |
| hosts/gravlax | webdav notes; gravlax and kelp; freebsd host | webdav vhost; deployed to gravlax; maintenance emails | webdav vhost; deployed to gravlax; maintenance emails | webdav vhost; deployed to gravlax; maintenance emails |
| fitness/bodypump-attendance | bodypump; david lloyd schedule; bristol minima shown | davidlloyd timetable; bodypump release; continuation data | davidlloyd timetable; bodypump release; continuation data | davidlloyd timetable; bodypump release; continuation data |
| ssl/certhub-todo | certificate configuration; certhub; future work | certs to webdav; future improvements; clustercmd | certs to webdav; future improvements; clustercmd | certs to webdav; future improvements; clustercmd |
Full per-note labels and residuals: comparison.csv (713 unique keys). All coefficients, direct-cosine baselines and residuals: results.json. Cached vectors: embeddings.sqlite and matrices.npz. Source hashes, timing and token usage: run.json. Directory: /home/john/py/gloss/artifacts/large-dimensions-2026-09-18/. Re-run python larger_sweep.py to reuse the cache without further API requests. No virtual environment was used.
Official model documentation: Vector embeddings; Large model and pricing.