|
1 | 1 | # SPDX-License-Identifier: MPL-2.0 |
2 | | -# Intentfile (A2ML Canonical) — north-star contractile for rsr-template-repo |
| 2 | +# Intentfile (A2ML Canonical) — north-star contractile for flat-mate |
3 | 3 | # Author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> |
4 | 4 | # |
| 5 | +# Provisional substitution 2026-06-11 pending estate machine-readable respec programme |
| 6 | +# |
5 | 7 | # Paired runner: intend.ncl |
6 | 8 | # Verb: intend |
7 | 9 | # |
|
20 | 22 | # contractile for hard gates. |
21 | 23 |
|
22 | 24 | @abstract: |
23 | | -North-star contractile for rsr-template-repo. This repository is the |
24 | | -canonical template for Rhodium Standard Repository compliance. It provides |
25 | | -the scaffold that all hyperpolymath repos should copy and customize. |
| 25 | +North-star contractile for flat-mate. v1 is the Squad Audit: an |
| 26 | +already-formed student friend group (the UK "second-year cliff"; target |
| 27 | +wave Jan–May 2027, London) gets a harmony + feasibility audit, an |
| 28 | +auto-drafted house agreement, and a search brief — upstream of SpareRoom, |
| 29 | +hosting no listings. The product never promises a "stable matching" |
| 30 | +(typically nonexistent in roommate markets) and stores no Art. 9 |
| 31 | +special-category fields by schema construction, on an epistemic-typed |
| 32 | +VerisimDB server with conceal-lattice disclosure tiers. |
26 | 33 | @end |
27 | 34 |
|
28 | 35 | ## Purpose |
29 | 36 |
|
30 | | -The rsr-template-repo serves as the master template for all hyperpolymath |
31 | | -repositories. It contains the complete set of contractile files, machine-readable |
32 | | -specifications, and governance documentation that define the Rhodium Standard. |
| 37 | +flat-mate audits already-formed student friend groups for lease survival: |
| 38 | +a pairwise harmony + feasibility audit, a house agreement drafted from the |
| 39 | +group's actual divergence points, and a search brief to take to the |
| 40 | +listings market. It sits upstream of listings platforms, serving the UK |
| 41 | +"second-year cliff" — first-years who must form private-market households |
| 42 | +with people they met weeks earlier. |
33 | 43 |
|
34 | | -Every new repository in the hyperpolymath estate should be initialized by |
35 | | -copying this template and substituting the placeholder values with |
36 | | -repo-specific content. |
| 44 | +The authoritative product spec is docs/design/squad-audit-v1.adoc; where |
| 45 | +code and that document disagree, the document wins until amended. |
37 | 46 |
|
38 | 47 | ## Anti-Purpose |
39 | 48 |
|
40 | 49 | This repository is NOT: |
41 | | -- A general-purpose project scaffold for external use (hyperpolymath-only) |
42 | | -- A replacement for per-repo customization (all files must be bespoke) |
43 | | -- A static template that never changes (evolves with RSR spec) |
44 | | -- A runtime library or framework (build-time only) |
| 50 | +- A listings platform or SpareRoom rival (output is a vetted household plus a search brief; no listings hosted) |
| 51 | +- A "stable matching" guarantee (stable matchings are typically nonexistent in roommate markets; product copy must never promise one) |
| 52 | +- A store of Art. 9 special-category data (no such fields exist by schema construction) |
| 53 | +- A stranger-discovery swipe app in v1 (the v0 swipe+listings flow stays in-tree as LEGACY pending a quarantine decision; discovery is deferred roadmap) |
45 | 54 |
|
46 | 55 | ## If In Doubt |
47 | 56 |
|
48 | 57 | If you are unsure whether a change is in scope, ask. Sensitive areas: |
49 | 58 | - .machine_readable/ contractile definitions |
50 | | -- RSR specification files |
51 | | -- Governance templates |
| 59 | +- docs/design/squad-audit-v1.adoc (product spec — source of truth) |
| 60 | +- packages/shared/src/matching/ (engine + conceal/redaction rules) |
52 | 61 | - License policy documents |
53 | 62 |
|
54 | 63 | ## Committed Next-Actions |
55 | 64 |
|
56 | | -### repo-initialization |
57 | | -- description: Provide just copy-and-substitute template for new repos |
58 | | -- probe: test -f scripts/init-repo.sh |
| 65 | +### squad-audit-design-record |
| 66 | +- description: Decide and document the v1 product (Squad Audit) as the authoritative spec |
| 67 | +- probe: test -f docs/design/squad-audit-v1.adoc |
| 68 | +- status: done |
| 69 | +- notes: Decided 2026-06-11; spec wins over code until amended |
| 70 | + |
| 71 | +### scoring-v2-engine |
| 72 | +- description: Split feasibility from harmony, behaviour/tolerance directional scoring, banded verdicts |
| 73 | +- probe: grep -rq "cleanlinessTolerance" packages/shared/src/matching/ |
59 | 74 | - status: done |
60 | | -- notes: Run with source scripts/init-repo.sh <new-repo-name> |
| 75 | +- notes: Landed 2026-06-11 (engine v2, 35 tests green); spec at docs/design/squad-audit-v1.adoc |
61 | 76 |
|
62 | | -### contractile-completeness |
63 | | -- description: Every RSR contractile has an a2ml and ncl implementation |
64 | | -- probe: ls .machine_readable/contractiles/*.a2ml | wc -l | grep -q "^6$" |
65 | | -- status: in_progress |
66 | | -- notes: Currently 6 contractile verbs: intend, must, trust, adjust, bust, dust |
| 77 | +### group-audit-core |
| 78 | +- description: auditGroup() — full pairwise matrix, budget intersection, dispersion detection |
| 79 | +- probe: grep -rq "auditGroup" packages/shared/src/matching/ |
| 80 | +- status: done |
| 81 | +- notes: Landed 2026-06-11; catches the Bloomsbury Three internal-dealbreaker fixture |
67 | 82 |
|
68 | | -### automation-scripts |
69 | | -- description: All repetitive tasks have just recipes |
70 | | -- probe: grep -c "^# " Justfile | grep -q "^[6-9][0-9]*$" |
71 | | -- status: in_progress |
| 83 | +### conceal-lattice |
| 84 | +- description: Disclosure tiers T0/T1/T2 with reciprocity (effectiveTier = min of both) |
| 85 | +- probe: grep -rq "effectiveTier" packages/shared/src/matching/ |
| 86 | +- status: done |
| 87 | +- notes: Landed 2026-06-11; mirrors proven-servers/protocols/proven-epistemic (machine-checked reference) |
| 88 | + |
| 89 | +### legacy-v0-quarantine |
| 90 | +- description: Mark the v0 swipe+listings flow LEGACY in-tree until a quarantine/removal decision |
| 91 | +- probe: grep -rq "LEGACY" packages/shared/src/matching/discovery.js |
| 92 | +- status: declared |
72 | 93 |
|
73 | 94 | ## Wishes |
74 | 95 |
|
75 | 96 | ### Near Horizon |
76 | 97 |
|
77 | | -#### cross-repo-validation |
78 | | -- description: Tooling to validate all repos against RSR spec |
79 | | -- horizon: near |
80 | | -- status: declared |
81 | | - |
82 | | -#### automated-substitution |
83 | | -- description: Script to automate repo-specific substitution in template |
| 98 | +#### solo-top-up-discovery |
| 99 | +- description: Solo top-up discovery for groups with open slots (conceal tiers + consent lifecycle) |
84 | 100 | - horizon: near |
85 | 101 | - status: declared |
86 | 102 |
|
87 | 103 | ### Mid Horizon |
88 | 104 |
|
89 | | -#### formal-verification |
90 | | -- description: Idris2 proofs for all critical contractile invariants |
| 105 | +#### da-rounds-solo-joins-household |
| 106 | +- description: Deferred-acceptance rounds for the bipartite solo-joins-household sub-market |
| 107 | +- horizon: mid |
| 108 | +- status: declared |
| 109 | + |
| 110 | +#### calibration-flywheel |
| 111 | +- description: Outcome events on anonymised aggregates; fitted weights, one cycle per academic year |
91 | 112 | - horizon: mid |
92 | 113 | - status: declared |
93 | 114 |
|
94 | 115 | ### Far Horizon |
95 | 116 |
|
96 | | -#### ecosystem-visualization |
97 | | -- description: Interactive graph of all hyperpolymath repos and dependencies |
| 117 | +#### blocking-pair-stability-audit |
| 118 | +- description: Advisory blocking-pair stability audit over the discovery graph (private, pair-bounded) |
98 | 119 | - horizon: far |
99 | 120 | - status: declared |
0 commit comments