dsh-vibe-math 2.3.15 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +93 -87
- package/README.md +58 -53
- package/cordis.patch.yml +1123 -10
- package/docs/AUDIT-CHECKLIST.md +107 -43
- package/docs/COMPAT-AUDIT-ROUND2.md +3 -0
- package/docs/COMPAT-AUDIT-ROUND3.md +139 -0
- package/docs/generate_framework_diagram_v2_en.mjs +595 -0
- package/docs/generate_framework_diagram_v3_en.mjs +624 -0
- package/docs/generate_framework_diagram_v4.mjs +380 -125
- package/docs/generate_framework_diagram_v5.mjs +366 -108
- package/docs/release-notes/RELEASE-NOTES-2.3.16.md +165 -0
- package/docs/release-notes/RELEASE-NOTES-2.4.0.md +172 -0
- package/docs/test-timing.md +4 -3
- package/docs//346/236/266/346/236/204/345/233/276.md +3 -1
- package/installer.js +89 -21
- package/package.json +40 -9
- package/preset-declaration.js +62 -0
- package/prompt-corpus-v5/prompt-corpus-v5.json +7 -7
- package/prompt-corpus-v5/prompt-corpus-v5.md +8 -129
- package/scripts/build-preset-rows.mjs +146 -0
- package/tests/audit-installer-compat.test.mjs +9 -3
- package/tests/audit-preset-rows.test.mjs +185 -0
- package/tests/audit-v5-integrity.mjs +49 -3
- package/tests/e2e-v5-round2.test.mjs +137 -67
- package/tests/formal-verify-v5.test.mjs +43 -35
- package/tests/prompt-v5-integrity.test.mjs +49 -47
- package/tests/selfdrive-v5.mjs +42 -55
- package/vibe-math-v2/vibe-math-v2.js +6 -2
- package/vibe-math-v3/vibe-math-v3.js +6 -2
- package/vibe-math-v4/vibe-math-v4.js +191 -13
- package/vibe-math-v5/agent.cordis.yml +8 -8
- package/vibe-math-v5/preset.yml +1 -1
- package/vibe-math-v5/vibe-math-v5.js +215 -91
- package/vibe-math-v5//345/256/236/347/216/260/346/226/271/346/241/210.md +56 -44
- package/vibe-math-v5//346/236/266/346/236/204/345/233/276.md +24 -22
- package//347/244/272/344/276/213/345/233/276//346/241/206/346/236/266/345/233/276-v2-en.svg +291 -0
- package//347/244/272/344/276/213/345/233/276//346/241/206/346/236/266/345/233/276-v3-en.svg +316 -0
- package//347/244/272/344/276/213/345/233/276//346/241/206/346/236/266/345/233/276-v4-en.svg +187 -0
- package//347/244/272/344/276/213/345/233/276//346/241/206/346/236/266/345/233/276-v5-en.svg +174 -0
- package//347/244/272/344/276/213/345/233/276//346/241/206/346/236/266/345/233/276-v5.svg +14 -14
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1720 1260" width="1720" height="1260" role="img" aria-label="Vibe Math V4 resident self-organizing architecture diagram">
|
|
3
|
+
<defs>
|
|
4
|
+
<marker id="both" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#7d93a3"/></marker>
|
|
5
|
+
<marker id="bothHuman" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#5b4bb8"/></marker>
|
|
6
|
+
<marker id="bothFrame" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#0b6fb8"/></marker>
|
|
7
|
+
<marker id="bothData" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#1f7a52"/></marker>
|
|
8
|
+
<marker id="bothHouse" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#b26a00"/></marker>
|
|
9
|
+
<marker id="bothGate" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#b3202c"/></marker>
|
|
10
|
+
</defs>
|
|
11
|
+
<rect width="1720" height="1260" fill="#ffffff"/>
|
|
12
|
+
<g font-family="'Microsoft YaHei','PingFang SC','Hiragino Sans GB','Noto Sans CJK SC','Source Han Sans SC',sans-serif">
|
|
13
|
+
<text x="860" y="40" font-size="27" font-weight="700" fill="#10202e" text-anchor="middle">Vibe Math V4 —— Resident Self-Organizing Collaborative Research</text>
|
|
14
|
+
<text x="860" y="67" font-size="13" font-weight="400" fill="#5d7788" text-anchor="middle">The framework is only a medium: relay messages · persist artifacts · count votes · manage context. It never assigns tasks —— division of labor is decided by residents messaging and meeting</text>
|
|
15
|
+
<rect x="40" y="84" width="1640" height="92" rx="14" fill="#fdeef0" stroke="#b3202c" stroke-width="2"/>
|
|
16
|
+
<text x="58" y="111" font-size="15" font-weight="700" fill="#b3202c">Truth gate —— the only rule that lets an object enter Verified/</text>
|
|
17
|
+
<text x="58" y="131" font-size="12" fill="#5d7788">All residents agree true (all 1) or agree false (all 0) · no forced / flat / near-consensus auto-closing —— strong disagreement must not be forced true</text>
|
|
18
|
+
<rect x="62" y="140" width="506" height="28" rx="10" fill="#ffffff" stroke="#b3202c" stroke-width="1.6"/>
|
|
19
|
+
<text x="315" y="158.1" font-size="11.5" font-weight="700" fill="#10202e" text-anchor="middle">All agree true → write Verified/命题|问题/<id>.md; source: verified·true</text>
|
|
20
|
+
<rect x="588" y="140" width="506" height="28" rx="10" fill="#ffffff" stroke="#b3202c" stroke-width="1.6"/>
|
|
21
|
+
<text x="841" y="158.1" font-size="11.5" font-weight="700" fill="#10202e" text-anchor="middle">All agree false → also write Verified/ (conclusion = false), source = false</text>
|
|
22
|
+
<rect x="1114" y="140" width="524" height="28" rx="10" fill="#ffffff" stroke="#b3202c" stroke-width="1.6"/>
|
|
23
|
+
<text x="1376" y="158.1" font-size="11.5" font-weight="700" fill="#10202e" text-anchor="middle">Disagreement → debate re-vote; still split → library + average + debate log</text>
|
|
24
|
+
<rect x="230" y="188" width="1450" height="150" rx="14" fill="#fdf5e2" stroke="#b26a00" stroke-width="2"/>
|
|
25
|
+
<text x="248" y="215" font-size="15" font-weight="700" fill="#8a5200">Resident layer (self-organization inside) —— roster, direction and division of labor are all settled among residents; the framework never assigns</text>
|
|
26
|
+
<text x="248" y="235" font-size="12" fill="#5d7788">Initial brainstorm produces each one's own direction · after that they keep working until "all consider it solved" (unanimous meeting consent) · residents can be added / closed</text>
|
|
27
|
+
<rect x="252" y="246" width="338" height="88" rx="10" fill="#ffffff" stroke="#b26a00" stroke-width="1.6"/>
|
|
28
|
+
<text x="421" y="260.7" font-size="13" font-weight="700" fill="#10202e" text-anchor="middle">Resident r-1</text>
|
|
29
|
+
<text x="421" y="277.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">continuable persistent session</text>
|
|
30
|
+
<text x="421" y="294.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Independent context · autonomous direction</text>
|
|
31
|
+
<text x="421" y="311.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Writes only its own library</text>
|
|
32
|
+
<text x="421" y="328.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Cross-reads others' libraries (read-only)</text>
|
|
33
|
+
<rect x="608" y="246" width="338" height="88" rx="10" fill="#ffffff" stroke="#b26a00" stroke-width="1.6"/>
|
|
34
|
+
<text x="777" y="260.7" font-size="13" font-weight="700" fill="#10202e" text-anchor="middle">Resident r-2</text>
|
|
35
|
+
<text x="777" y="277.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">continuable persistent session</text>
|
|
36
|
+
<text x="777" y="294.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Independent context · autonomous direction</text>
|
|
37
|
+
<text x="777" y="311.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Writes only its own library</text>
|
|
38
|
+
<text x="777" y="328.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Cross-reads others' libraries (read-only)</text>
|
|
39
|
+
<rect x="964" y="246" width="338" height="88" rx="10" fill="#ffffff" stroke="#b26a00" stroke-width="1.6"/>
|
|
40
|
+
<text x="1133" y="260.7" font-size="13" font-weight="700" fill="#10202e" text-anchor="middle">Resident r-3</text>
|
|
41
|
+
<text x="1133" y="277.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">continuable persistent session</text>
|
|
42
|
+
<text x="1133" y="294.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Independent context · autonomous direction</text>
|
|
43
|
+
<text x="1133" y="311.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Writes only its own library</text>
|
|
44
|
+
<text x="1133" y="328.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Cross-reads others' libraries (read-only)</text>
|
|
45
|
+
<rect x="1320" y="246" width="338" height="88" rx="10" fill="#ffffff" stroke="#b26a00" stroke-width="1.6"/>
|
|
46
|
+
<text x="1489" y="260.7" font-size="13" font-weight="700" fill="#10202e" text-anchor="middle">… r-N</text>
|
|
47
|
+
<text x="1489" y="277.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">add_member / remove_member</text>
|
|
48
|
+
<text x="1489" y="294.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">residentCount defaults to 4</text>
|
|
49
|
+
<text x="1489" y="311.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Wake-up = sendMessage</text>
|
|
50
|
+
<text x="1489" y="328.7" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">One round = one full thought</text>
|
|
51
|
+
<rect x="42" y="188" width="176" height="150" rx="10" fill="#ffffff" stroke="#5b4bb8" stroke-width="1.6"/>
|
|
52
|
+
<text x="130" y="219.3" font-size="12" font-weight="700" fill="#10202e" text-anchor="middle">Human / assistant</text>
|
|
53
|
+
<text x="130" y="235.3" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">Root agent = the interface</text>
|
|
54
|
+
<text x="130" y="251.3" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">configure → start</text>
|
|
55
|
+
<text x="130" y="267.3" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">message / meeting</text>
|
|
56
|
+
<text x="130" y="283.3" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">add_member / remove_member</text>
|
|
57
|
+
<text x="130" y="299.3" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">pause / resume / abort</text>
|
|
58
|
+
<text x="130" y="315.3" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">set parameters (immediate)</text>
|
|
59
|
+
<rect x="230" y="400" width="1450" height="384" rx="14" fill="#eaf3fd" stroke="#0b6fb8" stroke-width="2"/>
|
|
60
|
+
<text x="248" y="427" font-size="15" font-weight="700" fill="#084d80">Framework vibe-v4 —— only a medium (middleware): relay · persist · count · schedule</text>
|
|
61
|
+
<text x="248" y="447" font-size="12" fill="#5d7788">Each round: "state block + this round's question"; each resident returns one JSON: summary / solved / input / vote / propose_verify / propose_task / claim_task / task_done / voteSolved / formal / contextPct</text>
|
|
62
|
+
<rect x="252" y="462" width="454" height="76" rx="10" fill="#ffffff" stroke="#0b6fb8" stroke-width="1.6"/>
|
|
63
|
+
<text x="479" y="479.8" font-size="12.5" font-weight="700" fill="#10202e" text-anchor="middle">Message bus · mailbox</text>
|
|
64
|
+
<text x="479" y="496.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">vibe_v4_message(to|all) → into the target mailbox</text>
|
|
65
|
+
<text x="479" y="512.8" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Idle → sendMessage wake-up; residents never call each other directly</text>
|
|
66
|
+
<text x="479" y="529.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Everything via the framework relay (simulated inbox) · broadcast</text>
|
|
67
|
+
<rect x="728" y="462" width="454" height="76" rx="10" fill="#ffffff" stroke="#0b6fb8" stroke-width="1.6"/>
|
|
68
|
+
<text x="955" y="479.8" font-size="12.5" font-weight="700" fill="#10202e" text-anchor="middle">Meeting / debate</text>
|
|
69
|
+
<text x="955" y="496.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">vibe_v4_meeting(agenda) → everyone speaks</text>
|
|
70
|
+
<text x="955" y="512.8" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Writes Shared/meetings/<id>.md and broadcasts the conclusion</text>
|
|
71
|
+
<text x="955" y="529.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Watchdog vs deadlock · queued, never preempts verification</text>
|
|
72
|
+
<rect x="1204" y="462" width="454" height="76" rx="10" fill="#ffffff" stroke="#0b6fb8" stroke-width="1.6"/>
|
|
73
|
+
<text x="1431" y="479.8" font-size="12.5" font-weight="700" fill="#10202e" text-anchor="middle">Task board (relay only)</text>
|
|
74
|
+
<text x="1431" y="496.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Propose / claim written in the receipt → Shared/taskboard.md</text>
|
|
75
|
+
<text x="1431" y="512.8" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Claiming wakes the claimer; the framework never decides who does what</text>
|
|
76
|
+
<text x="1431" y="529.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Open tasks come first in the idle-resident wake-up order</text>
|
|
77
|
+
<rect x="252" y="548" width="454" height="76" rx="10" fill="#ffffff" stroke="#0b6fb8" stroke-width="1.6"/>
|
|
78
|
+
<text x="479" y="565.8" font-size="12.5" font-weight="700" fill="#10202e" text-anchor="middle">Consensus verification (unanimous)</text>
|
|
79
|
+
<text x="479" y="582.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Receipt field propose_verify → FIFO queue</text>
|
|
80
|
+
<text x="479" y="598.8" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Independent first vote (blind to each other) → public debate re-vote</text>
|
|
81
|
+
<text x="479" y="615.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Max verdictMaxRounds rounds (default 3); unanimous same-way → Verified/</text>
|
|
82
|
+
<rect x="728" y="548" width="454" height="76" rx="10" fill="#ffffff" stroke="#0b6fb8" stroke-width="1.6"/>
|
|
83
|
+
<text x="955" y="565.8" font-size="12.5" font-weight="700" fill="#10202e" text-anchor="middle">Context / compact</text>
|
|
84
|
+
<text x="955" y="582.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">contextPct ≥ compactThreshold (default 66)</text>
|
|
85
|
+
<text x="955" y="598.8" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Triggers DSH /compact; core rules restated after compaction</text>
|
|
86
|
+
<text x="955" y="615.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">compactAfterRounds default 8; persona and philosophy kept</text>
|
|
87
|
+
<rect x="1204" y="548" width="454" height="76" rx="10" fill="#ffffff" stroke="#0b6fb8" stroke-width="1.6"/>
|
|
88
|
+
<text x="1431" y="565.8" font-size="12.5" font-weight="700" fill="#10202e" text-anchor="middle">Liveness / concurrency / recovery</text>
|
|
89
|
+
<text x="1431" y="582.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">activityTimeoutMs heartbeat · maxParallel concurrency gate</text>
|
|
90
|
+
<text x="1431" y="598.8" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Stall stallAutoMeetingMs (default 6 min) automatic meeting</text>
|
|
91
|
+
<text x="1431" y="615.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">resume re-seeds from residents.json + progress.md</text>
|
|
92
|
+
<rect x="252" y="636" width="1406" height="84" rx="10" fill="#ffffff" stroke="#b3202c" stroke-width="1.6"/>
|
|
93
|
+
<text x="955" y="658.3" font-size="12" font-weight="700" fill="#10202e" text-anchor="middle">Lean formal verification (adjustable parameter formalVerify = off / encourage / require) · tools vibe_v4_lean_run / _archive / _lib</text>
|
|
94
|
+
<text x="955" y="674.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">encourage: decide by implementation difficulty whether to formalize; require: a true/false conclusion needs "Lean passed" or an explicit blocking record, otherwise it is recorded as undecided</text>
|
|
95
|
+
<text x="955" y="690.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">★ Once Lean passes, the object of review changes: no longer "is the derivation right" but "are Lean's definitions/objects/conditions/assumptions/conclusions faithful to the original text of the proposition"</text>
|
|
96
|
+
<text x="955" y="706.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">★ A fidelity defect (decision=defect) ≠ the proposition is false: revoke "passed" + withdraw the archived proof + add to the "formalization TODO"; never record it as 0/false</text>
|
|
97
|
+
<rect x="252" y="732" width="1406" height="40" rx="10" fill="#ffffff" stroke="#0b6fb8" stroke-width="1.6"/>
|
|
98
|
+
<text x="955" y="756.0" font-size="11" font-weight="700" fill="#10202e" text-anchor="middle">After subagent/end the framework advances: ① non-empty mailbox → wake non-busy recipients ② open task → wake proposer/claimer ③ pending verification → meeting ④ else heartbeat: wake longest-idle resident into a meeting</text>
|
|
99
|
+
<rect x="230" y="816" width="470" height="250" rx="14" fill="#eef7f1" stroke="#1f7a52" stroke-width="2"/>
|
|
100
|
+
<text x="248" y="843" font-size="15" font-weight="700" fill="#125a3c">Resident-owned libraries (one directory each)</text>
|
|
101
|
+
<text x="248" y="863" font-size="12" fill="#5d7788">Owner writes · others read-only · via fs · framework registers</text>
|
|
102
|
+
<rect x="252" y="872" width="426" height="176" rx="10" fill="#ffffff" stroke="#1f7a52" stroke-width="1.6"/>
|
|
103
|
+
<text x="465" y="909.9" font-size="11.5" font-weight="700" fill="#10202e" text-anchor="middle">Progress/<r-id>/progress.md</text>
|
|
104
|
+
<text x="465" y="925.4" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Ongoing progress (append-only; checkpoint resume re-seeds from it)</text>
|
|
105
|
+
<text x="465" y="940.9" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle"></text>
|
|
106
|
+
<text x="465" y="956.4" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Propos/<r-id>/<p-id>.md proposition</text>
|
|
107
|
+
<text x="465" y="971.9" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Methods/<r-id>/<m-id>.md theory / method / tool</text>
|
|
108
|
+
<text x="465" y="987.4" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Subproblems/<r-id>/<s-id>.md subproblem</text>
|
|
109
|
+
<text x="465" y="1002.9" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle"></text>
|
|
110
|
+
<text x="465" y="1018.4" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Required per record: value · motivation-use plan · own probability</text>
|
|
111
|
+
<rect x="720" y="816" width="470" height="250" rx="14" fill="#eef7f1" stroke="#1f7a52" stroke-width="2"/>
|
|
112
|
+
<text x="738" y="843" font-size="15" font-weight="700" fill="#125a3c">Shared and concluded (VibeMath/Projects/<project>/)</text>
|
|
113
|
+
<text x="738" y="863" font-size="12" fill="#5d7788">Shared/ = artifacts; Verified/ = only conclusion, read-only</text>
|
|
114
|
+
<rect x="742" y="872" width="426" height="176" rx="10" fill="#ffffff" stroke="#1f7a52" stroke-width="1.6"/>
|
|
115
|
+
<text x="955" y="909.9" font-size="11.5" font-weight="700" fill="#10202e" text-anchor="middle">Shared/meetings/<id>.md meeting minutes + conclusion</text>
|
|
116
|
+
<text x="955" y="925.4" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Shared/debates/<target>.md debate record (first vote + re-vote)</text>
|
|
117
|
+
<text x="955" y="940.9" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Shared/taskboard.md task board (propose / claim)</text>
|
|
118
|
+
<text x="955" y="956.4" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Shared/meetings/brainstorm.md initial brainstorm</text>
|
|
119
|
+
<text x="955" y="971.9" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle"></text>
|
|
120
|
+
<text x="955" y="987.4" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Verified/命题/<id>.md (or 问题/, 方法 → trusted assertion)</text>
|
|
121
|
+
<text x="955" y="1002.9" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Problems/<id>.md original problem statement</text>
|
|
122
|
+
<text x="955" y="1018.4" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Not unanimous → source library + average probability + debate record</text>
|
|
123
|
+
<rect x="1210" y="816" width="470" height="250" rx="14" fill="#eef7f1" stroke="#1f7a52" stroke-width="2"/>
|
|
124
|
+
<text x="1228" y="843" font-size="15" font-weight="700" fill="#125a3c">State / isolation / recovery</text>
|
|
125
|
+
<text x="1228" y="863" font-size="12" fill="#5d7788">Framework state: registry, mailboxes, locks, process epoch</text>
|
|
126
|
+
<rect x="1232" y="872" width="426" height="176" rx="10" fill="#ffffff" stroke="#1f7a52" stroke-width="1.6"/>
|
|
127
|
+
<text x="1445" y="909.9" font-size="11.5" font-weight="700" fill="#10202e" text-anchor="middle">State/residents.json resident registry</text>
|
|
128
|
+
<text x="1445" y="925.4" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">State/mailboxes.json mailboxes (who has not read)</text>
|
|
129
|
+
<text x="1445" y="940.9" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">State/taskboard.json task board machine state</text>
|
|
130
|
+
<text x="1445" y="956.4" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">State/decisions.json key decisions on record</text>
|
|
131
|
+
<text x="1445" y="971.9" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">State/session.json activity log (human-readable)</text>
|
|
132
|
+
<text x="1445" y="987.4" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">State/settings.json parameters (set takes effect immediately)</text>
|
|
133
|
+
<text x="1445" y="1002.9" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">State/formal.json Lean formalization record (non-off tiers)</text>
|
|
134
|
+
<text x="1445" y="1018.4" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">fileOwner write lock · projectLock · processEpoch · abort→resume</text>
|
|
135
|
+
<rect x="230" y="1102" width="1450" height="118" rx="14" fill="#fdeef0" stroke="#b3202c" stroke-width="2"/>
|
|
136
|
+
<text x="248" y="1129" font-size="15" font-weight="700" fill="#b3202c">Philosophical red lines (non-negotiable)</text>
|
|
137
|
+
<text x="248" y="1149" font-size="12" fill="#5d7788">These five are the design itself, not implementation details; changing them means a different architecture</text>
|
|
138
|
+
<rect x="252" y="1158" width="268.4" height="56" rx="10" fill="#ffffff" stroke="#b3202c" stroke-width="1.6"/>
|
|
139
|
+
<text x="386.2" y="1174.6" font-size="11.5" font-weight="700" fill="#10202e" text-anchor="middle">The framework never assigns tasks</text>
|
|
140
|
+
<text x="386.2" y="1190.1" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">Direction / division / who does what</text>
|
|
141
|
+
<text x="386.2" y="1205.6" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">only residents, by messages and meetings</text>
|
|
142
|
+
<rect x="536.4" y="1158" width="268.4" height="56" rx="10" fill="#ffffff" stroke="#b3202c" stroke-width="1.6"/>
|
|
143
|
+
<text x="670.5999999999999" y="1174.6" font-size="11.5" font-weight="700" fill="#10202e" text-anchor="middle">Conclusions must be unanimous</text>
|
|
144
|
+
<text x="670.5999999999999" y="1190.1" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">No forced / flat / near-consensus closing</text>
|
|
145
|
+
<text x="670.5999999999999" y="1205.6" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">strong disagreement stays in the library</text>
|
|
146
|
+
<rect x="820.8" y="1158" width="268.4" height="56" rx="10" fill="#ffffff" stroke="#b3202c" stroke-width="1.6"/>
|
|
147
|
+
<text x="955" y="1174.6" font-size="11.5" font-weight="700" fill="#10202e" text-anchor="middle">Only Verified/ is absolutely trusted</text>
|
|
148
|
+
<text x="955" y="1190.1" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">the rest (unverified method-library claims)</text>
|
|
149
|
+
<text x="955" y="1205.6" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">is empirical reference only</text>
|
|
150
|
+
<rect x="1105.1999999999998" y="1158" width="268.4" height="56" rx="10" fill="#ffffff" stroke="#b3202c" stroke-width="1.6"/>
|
|
151
|
+
<text x="1239.3999999999999" y="1174.6" font-size="11.5" font-weight="700" fill="#10202e" text-anchor="middle">Residents never call each other</text>
|
|
152
|
+
<text x="1239.3999999999999" y="1190.1" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">all messages go through framework relay</text>
|
|
153
|
+
<text x="1239.3999999999999" y="1205.6" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">(simulated inbox: persisted before delivery)</text>
|
|
154
|
+
<rect x="1389.6" y="1158" width="268.4" height="56" rx="10" fill="#ffffff" stroke="#b3202c" stroke-width="1.6"/>
|
|
155
|
+
<text x="1523.8" y="1174.6" font-size="11.5" font-weight="700" fill="#10202e" text-anchor="middle">Self-organization survives intervention</text>
|
|
156
|
+
<text x="1523.8" y="1190.1" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">messages / meetings / add-remove members</text>
|
|
157
|
+
<text x="1523.8" y="1205.6" font-size="10" font-weight="400" fill="#2c4557" text-anchor="middle">but "what happens next" is up to residents</text>
|
|
158
|
+
<path d="M 129 338 L 129 470 L 230 470" fill="none" stroke="#5b4bb8" stroke-width="2" marker-start="url(#bothHuman)" marker-end="url(#bothHuman)"/>
|
|
159
|
+
<text x="129" y="384" font-size="12" font-weight="700" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">Tool surface</text>
|
|
160
|
+
<text x="129" y="404" font-size="11" font-weight="400" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">vibe_v4_*</text>
|
|
161
|
+
<text x="129" y="422" font-size="11" font-weight="400" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">/v4 commands</text>
|
|
162
|
+
<text x="129" y="446" font-size="13" font-weight="700" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">↓</text>
|
|
163
|
+
<text x="129" y="506" font-size="12" font-weight="700" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">Report</text>
|
|
164
|
+
<text x="129" y="526" font-size="11" font-weight="400" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">status</text>
|
|
165
|
+
<text x="129" y="544" font-size="11" font-weight="400" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">report</text>
|
|
166
|
+
<text x="129" y="572" font-size="13" font-weight="700" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">↑</text>
|
|
167
|
+
<line x1="600" y1="338" x2="600" y2="400" stroke="#0b6fb8" stroke-width="2" marker-start="url(#bothFrame)" marker-end="url(#bothFrame)"/>
|
|
168
|
+
<line x1="1360" y1="338" x2="1360" y2="400" stroke="#0b6fb8" stroke-width="2" marker-start="url(#bothFrame)" marker-end="url(#bothFrame)"/>
|
|
169
|
+
<text x="980" y="366" font-size="10.5" font-weight="400" fill="#0b6fb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">↑ prompt each round (state block + this round's question) ↓ a single JSON receipt</text>
|
|
170
|
+
<text x="980" y="386" font-size="9.5" font-weight="400" fill="#5d7788" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">say / progress / record_* / propose_verify / verdict / vote_solved / input / reject_assign / task_done</text>
|
|
171
|
+
<line x1="560" y1="784" x2="560" y2="816" stroke="#1f7a52" stroke-width="2" marker-start="url(#bothData)" marker-end="url(#bothData)"/>
|
|
172
|
+
<text x="552" y="806" font-size="10.5" font-weight="400" fill="#1f7a52" text-anchor="end" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">Persist / record / wake</text>
|
|
173
|
+
<line x1="1180" y1="784" x2="1180" y2="816" stroke="#b3202c" stroke-width="2" stroke-dasharray="7 5" marker-start="url(#bothGate)" marker-end="url(#bothGate)"/>
|
|
174
|
+
<text x="1188" y="806" font-size="10.5" font-weight="400" fill="#b3202c" text-anchor="start" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">Not unanimous → kept in library with probability (dashed)</text>
|
|
175
|
+
<text x="52" y="1246" font-size="12" font-weight="700" fill="#10202e" text-anchor="start">Legend</text>
|
|
176
|
+
<rect x="108" y="1235" width="14" height="14" rx="3" fill="#ffffff" stroke="#5b4bb8" stroke-width="2"/>
|
|
177
|
+
<text x="129" y="1247" font-size="11" font-weight="400" fill="#2c4557" text-anchor="start">Human / assistant (no research, no vote)</text>
|
|
178
|
+
<rect x="438" y="1235" width="14" height="14" rx="3" fill="#ffffff" stroke="#b26a00" stroke-width="2"/>
|
|
179
|
+
<text x="459" y="1247" font-size="11" font-weight="400" fill="#2c4557" text-anchor="start">Resident subagent (votes · autonomous direction)</text>
|
|
180
|
+
<rect x="768" y="1235" width="14" height="14" rx="3" fill="#ffffff" stroke="#0b6fb8" stroke-width="2"/>
|
|
181
|
+
<text x="789" y="1247" font-size="11" font-weight="400" fill="#2c4557" text-anchor="start">Framework (relay / persist / count / schedule)</text>
|
|
182
|
+
<rect x="1098" y="1235" width="14" height="14" rx="3" fill="#ffffff" stroke="#1f7a52" stroke-width="2"/>
|
|
183
|
+
<text x="1119" y="1247" font-size="11" font-weight="400" fill="#2c4557" text-anchor="start">Artifacts, state (resident lib / Shared / State)</text>
|
|
184
|
+
<rect x="1428" y="1235" width="14" height="14" rx="3" fill="#ffffff" stroke="#b3202c" stroke-width="2"/>
|
|
185
|
+
<text x="1449" y="1247" font-size="11" font-weight="400" fill="#2c4557" text-anchor="start">Truth gate / Lean formalization (adjustable)</text>
|
|
186
|
+
</g>
|
|
187
|
+
</svg>
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1720 1204" width="1720" height="1204" role="img" aria-label="Vibe Math V5 institute architecture diagram">
|
|
3
|
+
<defs>
|
|
4
|
+
<marker id="both" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#7d93a3"/></marker>
|
|
5
|
+
<marker id="bothHuman" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#5b4bb8"/></marker>
|
|
6
|
+
<marker id="bothFrame" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#0b6fb8"/></marker>
|
|
7
|
+
<marker id="bothData" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#1f7a52"/></marker>
|
|
8
|
+
<marker id="bothHouse" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#b26a00"/></marker>
|
|
9
|
+
</defs>
|
|
10
|
+
<rect width="1720" height="1204" fill="#ffffff"/>
|
|
11
|
+
<g font-family="'Microsoft YaHei','PingFang SC','Hiragino Sans GB','Noto Sans CJK SC','Source Han Sans SC',sans-serif">
|
|
12
|
+
<text x="860" y="40" font-size="27" font-weight="700" fill="#10202e" text-anchor="middle">Vibe Math V5 —— Institute System</text>
|
|
13
|
+
<text x="860" y="67" font-size="13" font-weight="400" fill="#5d7788" text-anchor="middle">The framework is only a medium: relaying messages · persisting artifacts · counting votes · managing context. It never assigns tasks —— organizing and assigning is the academician's job</text>
|
|
14
|
+
<rect x="40" y="84" width="1640" height="94" rx="14" fill="#fdeef0" stroke="#b3202c" stroke-width="2"/>
|
|
15
|
+
<text x="58" y="111" font-size="15" font-weight="700" fill="#b3202c">Truth gate —— the only rule that lets an object enter Verified/</text>
|
|
16
|
+
<text x="58" y="131" font-size="12" fill="#5d7788">m = min(quorumCap, number of registered voting members) · a vote is a [0,1] probability: exactly 1 = assert true, exactly 0 = assert false, strictly between = abstention/doubt (not counted toward m, counted in the group average)</text>
|
|
17
|
+
<rect x="62" y="140" width="506" height="28" rx="10" fill="#ffffff" stroke="#b3202c" stroke-width="1.6"/>
|
|
18
|
+
<text x="315" y="158.3" font-size="12" font-weight="700" fill="#10202e" text-anchor="middle">Boolean votes ≥ m and all 1 or all 0 → conclusion, written to Verified/</text>
|
|
19
|
+
<rect x="588" y="140" width="506" height="28" rx="10" fill="#ffffff" stroke="#b3202c" stroke-width="1.6"/>
|
|
20
|
+
<text x="841" y="158.3" font-size="12" font-weight="700" fill="#10202e" text-anchor="middle">Both 1 and 0 → blocked: the minority cannot push a conclusion through</text>
|
|
21
|
+
<rect x="1114" y="140" width="524" height="28" rx="10" fill="#ffffff" stroke="#b3202c" stroke-width="1.6"/>
|
|
22
|
+
<text x="1376" y="158.3" font-size="12" font-weight="700" fill="#10202e" text-anchor="middle">Below quorum → stays in the library + average probability + debate record</text>
|
|
23
|
+
<rect x="40" y="190" width="1640" height="100" rx="14" fill="#f1eefc" stroke="#5b4bb8" stroke-width="2"/>
|
|
24
|
+
<text x="58" y="217" font-size="15" font-weight="700" fill="#5b4bb8">Institute office (session root agent / human) —— the institute's external interface</text>
|
|
25
|
+
<text x="58" y="237" font-size="12" fill="#5d7788">Does not research · does not vote · only reports and relays the human's instructions; holds the one-off creation rights the platform requires</text>
|
|
26
|
+
<rect x="62" y="246" width="372" height="38" rx="10" fill="#ffffff" stroke="#5b4bb8" stroke-width="1.6"/>
|
|
27
|
+
<text x="248" y="261.3" font-size="12" font-weight="700" fill="#10202e" text-anchor="middle">Natural-language interface + reporter</text>
|
|
28
|
+
<text x="248" y="277.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">"solve XX" "how is it going" "pause"</text>
|
|
29
|
+
<rect x="452" y="246" width="372" height="38" rx="10" fill="#ffffff" stroke="#5b4bb8" stroke-width="1.6"/>
|
|
30
|
+
<text x="638" y="261.3" font-size="12" font-weight="700" fill="#10202e" text-anchor="middle">vibe_v5_configure → start</text>
|
|
31
|
+
<text x="638" y="277.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">message / meeting / hire / fire</text>
|
|
32
|
+
<rect x="842" y="246" width="330" height="38" rx="10" fill="#ffffff" stroke="#5b4bb8" stroke-width="1.6"/>
|
|
33
|
+
<text x="1007" y="261.3" font-size="12" font-weight="700" fill="#10202e" text-anchor="middle">pause / resume / stop</text>
|
|
34
|
+
<text x="1007" y="277.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">set parameters (effective immediately)</text>
|
|
35
|
+
<rect x="1190" y="246" width="448" height="38" rx="10" fill="#ffffff" stroke="#5b4bb8" stroke-width="1.6"/>
|
|
36
|
+
<text x="1414" y="261.3" font-size="12" font-weight="700" fill="#10202e" text-anchor="middle">/v5 slash commands (equivalent to the tools)</text>
|
|
37
|
+
<text x="1414" y="277.3" font-size="9" font-weight="400" fill="#2c4557" text-anchor="middle">configure|start|resume|pause|status|report|members|message|meeting|hire|fire|set</text>
|
|
38
|
+
<rect x="226" y="302" width="1454" height="240" rx="14" fill="#fdf5e2" stroke="#b26a00" stroke-width="2"/>
|
|
39
|
+
<text x="244" y="329" font-size="15" font-weight="700" fill="#8a5200">Institute (internal autonomy) —— roster, organization and assignment all happen among members; the framework never assigns</text>
|
|
40
|
+
<text x="244" y="349" font-size="12" fill="#5d7788">Academician acad: leader / center of organization and coordination · resident researcher r-n: voting rights · temp worker t-n: no voting rights (hired and fired by its employer)</text>
|
|
41
|
+
<rect x="248" y="362" width="300" height="142" rx="10" fill="#ffffff" stroke="#b26a00" stroke-width="1.6"/>
|
|
42
|
+
<text x="398" y="376.6" font-size="13.5" font-weight="700" fill="#10202e" text-anchor="middle">Academician acad</text>
|
|
43
|
+
<text x="398" y="394.1" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Leader · organization and coordination center</text>
|
|
44
|
+
<text x="398" y="411.6" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">L1 institute-wide overview (overview)</text>
|
|
45
|
+
<text x="398" y="429.1" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">L2 decompose and assign tasks (assign)</text>
|
|
46
|
+
<text x="398" y="446.6" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">L3 set priorities (prioritize)</text>
|
|
47
|
+
<text x="398" y="464.1" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">L4 convene and chair meetings (convene)</text>
|
|
48
|
+
<text x="398" y="481.6" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">L5 supervise progress (nudge)</text>
|
|
49
|
+
<text x="398" y="499.1" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">L6 move temp workers · L7 external</text>
|
|
50
|
+
<text x="398" y="520" font-size="10" font-weight="400" fill="#b3202c" text-anchor="middle">Four boundaries: one vote, equally weighted /</text>
|
|
51
|
+
<text x="398" y="536" font-size="10" font-weight="400" fill="#b3202c" text-anchor="middle">what is assigned is work, not conclusions /</text>
|
|
52
|
+
<text x="576" y="372" font-size="11.5" font-weight="700" fill="#8a5200" text-anchor="start">Resident researcher (voting rights · may autonomously hire/fire its own temp workers)</text>
|
|
53
|
+
<rect x="576" y="380" width="326" height="52" rx="10" fill="#ffffff" stroke="#b26a00" stroke-width="1.6"/>
|
|
54
|
+
<text x="739" y="402.2" font-size="13" font-weight="700" fill="#10202e" text-anchor="middle">Resident researcher r-1</text>
|
|
55
|
+
<text x="739" y="419.2" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">continuable persistent session · own direction</text>
|
|
56
|
+
<rect x="922" y="380" width="326" height="52" rx="10" fill="#ffffff" stroke="#b26a00" stroke-width="1.6"/>
|
|
57
|
+
<text x="1085" y="402.2" font-size="13" font-weight="700" fill="#10202e" text-anchor="middle">Resident researcher r-2</text>
|
|
58
|
+
<text x="1085" y="419.2" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">continuable persistent session · own direction</text>
|
|
59
|
+
<rect x="1268" y="380" width="326" height="52" rx="10" fill="#ffffff" stroke="#b26a00" stroke-width="1.6"/>
|
|
60
|
+
<text x="1431" y="402.2" font-size="13" font-weight="700" fill="#10202e" text-anchor="middle">Resident researcher r-3</text>
|
|
61
|
+
<text x="1431" y="419.2" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">continuable persistent session · own direction</text>
|
|
62
|
+
<text x="576" y="452" font-size="11.5" font-weight="700" fill="#8a5200" text-anchor="start">Temp worker (no voting rights · hired temporarily for a specific task · fired by its employer or the academician)</text>
|
|
63
|
+
<rect x="576" y="460" width="326" height="52" rx="10" fill="#ffffff" stroke="#c99a4a" stroke-width="1.6"/>
|
|
64
|
+
<text x="739" y="482.2" font-size="13" font-weight="700" fill="#10202e" text-anchor="middle">Temp worker t-1</text>
|
|
65
|
+
<text x="739" y="499.2" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Hired by r-1 · read/think/speak, write own library</text>
|
|
66
|
+
<rect x="922" y="460" width="326" height="52" rx="10" fill="#ffffff" stroke="#c99a4a" stroke-width="1.6"/>
|
|
67
|
+
<text x="1085" y="482.2" font-size="13" font-weight="700" fill="#10202e" text-anchor="middle">Temp worker t-2</text>
|
|
68
|
+
<text x="1085" y="499.2" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Hired by r-2 · read/think/speak, write own library</text>
|
|
69
|
+
<rect x="1268" y="460" width="326" height="52" rx="10" fill="#ffffff" stroke="#c99a4a" stroke-width="1.6"/>
|
|
70
|
+
<text x="1431" y="482.2" font-size="13" font-weight="700" fill="#10202e" text-anchor="middle">Temp worker t-3</text>
|
|
71
|
+
<text x="1431" y="499.2" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Hired by r-3 · read/think/speak, write own library</text>
|
|
72
|
+
<text x="576" y="536" font-size="10.5" font-weight="400" fill="#5d7788" text-anchor="start">In-institute organization (assignment · priority · nudge · meetings · staffing) is initiated by the academician, not the framework —— it only delivers</text>
|
|
73
|
+
<rect x="226" y="566" width="1454" height="382" rx="14" fill="#eaf3fd" stroke="#0b6fb8" stroke-width="2"/>
|
|
74
|
+
<text x="244" y="593" font-size="15" font-weight="700" fill="#084d80">Framework vibe-v5 —— only a medium (middleware): relay · persistence · counting · scheduling</text>
|
|
75
|
+
<text x="244" y="613" font-size="12" fill="#5d7788">Each round: "state block + this round's question" (the charter is in the persona); a member returns one JSON: say / progress / record / verdict / task_* / hire / fire / reject_assign / input / vote_solved</text>
|
|
76
|
+
<rect x="248" y="620" width="455.3333333333333" height="78" rx="10" fill="#ffffff" stroke="#0b6fb8" stroke-width="1.6"/>
|
|
77
|
+
<text x="475.66666666666663" y="638.8" font-size="12.5" font-weight="700" fill="#10202e" text-anchor="middle">Message relay (persistent mailbox)</text>
|
|
78
|
+
<text x="475.66666666666663" y="655.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">group chat / direct message / to all voters</text>
|
|
79
|
+
<text x="475.66666666666663" y="671.8" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">office notice / assignment / nudge / framework hint</text>
|
|
80
|
+
<text x="475.66666666666663" y="688.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">persisted per recipient · written before delivery · group chat batched</text>
|
|
81
|
+
<rect x="725.3333333333333" y="620" width="455.3333333333333" height="78" rx="10" fill="#ffffff" stroke="#0b6fb8" stroke-width="1.6"/>
|
|
82
|
+
<text x="952.9999999999999" y="638.8" font-size="12.5" font-weight="700" fill="#10202e" text-anchor="middle">Meeting / debate</text>
|
|
83
|
+
<text x="952.9999999999999" y="655.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">agenda · live roster check · random speaking order</text>
|
|
84
|
+
<text x="952.9999999999999" y="671.8" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">mutually exclusive with verification: while one runs, the other queues</text>
|
|
85
|
+
<text x="952.9999999999999" y="688.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">watchdog: if it hangs, abandon it and return to self-organization</text>
|
|
86
|
+
<rect x="1202.6666666666665" y="620" width="455.3333333333333" height="78" rx="10" fill="#ffffff" stroke="#0b6fb8" stroke-width="1.6"/>
|
|
87
|
+
<text x="1430.3333333333333" y="638.8" font-size="12.5" font-weight="700" fill="#10202e" text-anchor="middle">Task board (CAS + DAG)</text>
|
|
88
|
+
<text x="1430.3333333333333" y="655.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">open / claim / release / complete / reopen / assign</text>
|
|
89
|
+
<text x="1430.3333333333333" y="671.8" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">compare-and-set revision · dependency cycle detection</text>
|
|
90
|
+
<text x="1430.3333333333333" y="688.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">write-scope overlap warning · firing reclaims tasks</text>
|
|
91
|
+
<rect x="248" y="708" width="455.3333333333333" height="78" rx="10" fill="#ffffff" stroke="#0b6fb8" stroke-width="1.6"/>
|
|
92
|
+
<text x="475.66666666666663" y="726.8" font-size="12.5" font-weight="700" fill="#10202e" text-anchor="middle">m-vote consensus verification</text>
|
|
93
|
+
<text x="475.66666666666663" y="743.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">propose → independent initial assessment → open debate and re-vote</text>
|
|
94
|
+
<text x="475.66666666666663" y="759.8" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Boolean unanimity + ≥ m decides it</text>
|
|
95
|
+
<text x="475.66666666666663" y="776.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Verified/ card + debate record + group average probability</text>
|
|
96
|
+
<rect x="725.3333333333333" y="708" width="455.3333333333333" height="78" rx="10" fill="#ffffff" stroke="#0b6fb8" stroke-width="1.6"/>
|
|
97
|
+
<text x="952.9999999999999" y="726.8" font-size="12.5" font-weight="700" fill="#10202e" text-anchor="middle">Context and liveness</text>
|
|
98
|
+
<text x="952.9999999999999" y="743.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">threshold compaction (persona kept) · poll-free activity wait</text>
|
|
99
|
+
<text x="952.9999999999999" y="759.8" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">priority scheduling · heartbeat always re-armed</text>
|
|
100
|
+
<text x="952.9999999999999" y="776.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">concurrency gate maxParallel · automatic meeting on stall</text>
|
|
101
|
+
<rect x="1202.6666666666665" y="708" width="455.3333333333333" height="78" rx="10" fill="#ffffff" stroke="#0b6fb8" stroke-width="1.6"/>
|
|
102
|
+
<text x="1430.3333333333333" y="726.8" font-size="12.5" font-weight="700" fill="#10202e" text-anchor="middle">Roster and hiring</text>
|
|
103
|
+
<text x="1430.3333333333333" y="743.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">academician/researchers can hire their own temp workers</text>
|
|
104
|
+
<text x="1430.3333333333333" y="759.8" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">employer or academician can really fire (releases the child session)</text>
|
|
105
|
+
<text x="1430.3333333333333" y="776.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">codenames never reused · dual quota per member / institute-wide</text>
|
|
106
|
+
<rect x="248" y="796" width="1410" height="90" rx="10" fill="#ffffff" stroke="#b3202c" stroke-width="1.6"/>
|
|
107
|
+
<text x="953" y="812.5" font-size="12.5" font-weight="700" fill="#10202e" text-anchor="middle">Lean formal verification (adjustable parameter formalVerify = off / encourage / require)</text>
|
|
108
|
+
<text x="953" y="829.0" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">encourage: at verification time, implementation difficulty decides whether to formalize; require: a true/false conclusion needs "Lean passed" or an explicit blocking record first</text>
|
|
109
|
+
<text x="953" y="845.5" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">★ Once Lean passes, the object of review changes: no longer "is the derivation correct", but "are Lean's definitions/objects/conditions/assumptions/conclusions faithful to the proposition"</text>
|
|
110
|
+
<text x="953" y="862.0" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">★ A fidelity defect (decision=defect) ≠ the proposition is false: revoke "passed" + revoke the archived proof + enter the "formalization TODO", never recorded as 0/false</text>
|
|
111
|
+
<text x="953" y="878.5" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Archive: proof → Verified/Lean/<object>.lean | reusable definition → VibeMath/Formal/Lib/ | proved lemma → VibeMath/Formal/Proved/</text>
|
|
112
|
+
<rect x="248" y="880" width="1410" height="38" rx="10" fill="#ffffff" stroke="#0b6fb8" stroke-width="1.6"/>
|
|
113
|
+
<text x="953" y="903.1" font-size="11.5" font-weight="700" fill="#10202e" text-anchor="middle">Scheduler priority: meeting/verification (mutually exclusive) → queued verification → meetings → active tasks (throttled by activityTimeoutMs) → mail → chat digest → meeting on stall → heartbeat</text>
|
|
114
|
+
<rect x="40" y="964" width="790" height="196" rx="14" fill="#eef7f1" stroke="#1f7a52" stroke-width="2"/>
|
|
115
|
+
<text x="58" y="991" font-size="15" font-weight="700" fill="#125a3c">Source of truth: hardened JSON file State/<institute>.v5state.json</text>
|
|
116
|
+
<text x="58" y="1011" font-size="12" fill="#5d7788">the same pure applyV5Event fold · serial whole-snapshot writes · load before every read (zero token cost)</text>
|
|
117
|
+
<rect x="62" y="1020" width="360" height="124" rx="10" fill="#ffffff" stroke="#1f7a52" stroke-width="1.6"/>
|
|
118
|
+
<text x="242" y="1046.3" font-size="12" font-weight="700" fill="#10202e" text-anchor="middle">applyV5Event (pure fold, the only copy)</text>
|
|
119
|
+
<text x="242" y="1062.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">12 kinds of events: institute / member / task /</text>
|
|
120
|
+
<text x="242" y="1078.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">message / delivered / meeting / debate /</text>
|
|
121
|
+
<text x="242" y="1094.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">verdict / formal / queue / counters / progress</text>
|
|
122
|
+
<text x="242" y="1110.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">unknown/bad event → skipped and recorded in diagnostics:</text>
|
|
123
|
+
<text x="242" y="1126.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">availability first, one bad event never stalls the field</text>
|
|
124
|
+
<rect x="434" y="1020" width="374" height="124" rx="10" fill="#ffffff" stroke="#1f7a52" stroke-width="1.6"/>
|
|
125
|
+
<text x="621" y="1046.3" font-size="12" font-weight="700" fill="#10202e" text-anchor="middle">the only backend: hardened JSON file</text>
|
|
126
|
+
<text x="621" y="1062.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">never read before load; each commit writes the whole</text>
|
|
127
|
+
<text x="621" y="1078.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">snapshot through a serial chain, so a late writer cannot</text>
|
|
128
|
+
<text x="621" y="1094.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">land a stale subset; across and within processes recovery</text>
|
|
129
|
+
<text x="621" y="1110.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">takes one code path: read file → fold. Institute events</text>
|
|
130
|
+
<text x="621" y="1126.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">never enter the host session log; DSH refuses unknown ones</text>
|
|
131
|
+
<rect x="852" y="964" width="828" height="196" rx="14" fill="#eef7f1" stroke="#1f7a52" stroke-width="2"/>
|
|
132
|
+
<text x="870" y="991" font-size="15" font-weight="700" fill="#125a3c">File plane: readable artifacts (all except State/<institute>.v5state.json are mirrors)</text>
|
|
133
|
+
<text x="870" y="1011" font-size="12" fill="#5d7788">The authority is State/<institute>.v5state.json; everything else is a readable artifact — hand edits change nothing</text>
|
|
134
|
+
<rect x="874" y="1020" width="784" height="124" rx="10" fill="#ffffff" stroke="#1f7a52" stroke-width="1.6"/>
|
|
135
|
+
<text x="1266" y="1055.1" font-size="11.5" font-weight="700" fill="#10202e" text-anchor="middle">Members/<id>/Progress|Propos|Methods|Subproblems/</text>
|
|
136
|
+
<text x="1266" y="1070.6" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">only the owner can write, everyone can read (cross-reading is encouraged)</text>
|
|
137
|
+
<text x="1266" y="1086.1" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Shared/Chat/*.md · Shared/Meetings/<mt-id>.md · Shared/Debates/<obj>.md</text>
|
|
138
|
+
<text x="1266" y="1101.6" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Shared/TaskBoard.md · Institutes.md (roster mirror) · State/README.md (says the authority is the sibling v5state.json)</text>
|
|
139
|
+
<text x="1266" y="1117.1" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Problems/<id>.md (original problem) · Problems/conclusion.md (conclusion) · Verified/<type>/<id>.md (conclusion, read-only)</text>
|
|
140
|
+
<path d="M 127 290 L 127 700 L 226 700" fill="none" stroke="#5b4bb8" stroke-width="2" marker-start="url(#bothHuman)" marker-end="url(#bothHuman)"/>
|
|
141
|
+
<text x="127" y="336" font-size="12" font-weight="700" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">Tool surface</text>
|
|
142
|
+
<text x="127" y="356" font-size="11" font-weight="400" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">vibe_v5_*</text>
|
|
143
|
+
<text x="127" y="374" font-size="11" font-weight="400" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">/v5 commands</text>
|
|
144
|
+
<text x="127" y="398" font-size="13" font-weight="700" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">↓</text>
|
|
145
|
+
<text x="127" y="470" font-size="12" font-weight="700" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">Report</text>
|
|
146
|
+
<text x="127" y="490" font-size="11" font-weight="400" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">status</text>
|
|
147
|
+
<text x="127" y="508" font-size="11" font-weight="400" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">report</text>
|
|
148
|
+
<text x="127" y="532" font-size="13" font-weight="700" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">↑</text>
|
|
149
|
+
<text x="127" y="600" font-size="10" font-weight="400" fill="#5d7788" text-anchor="middle">the office does not vote</text>
|
|
150
|
+
<text x="127" y="616" font-size="10" font-weight="400" fill="#5d7788" text-anchor="middle">cannot make a conclusion true</text>
|
|
151
|
+
<text x="127" y="644" font-size="10" font-weight="400" fill="#5d7788" text-anchor="middle">nor think or sign</text>
|
|
152
|
+
<text x="127" y="660" font-size="10" font-weight="400" fill="#5d7788" text-anchor="middle">on a member's behalf</text>
|
|
153
|
+
<line x1="560" y1="542" x2="560" y2="566" stroke="#0b6fb8" stroke-width="2" marker-start="url(#bothFrame)" marker-end="url(#bothFrame)"/>
|
|
154
|
+
<line x1="1400" y1="542" x2="1400" y2="566" stroke="#0b6fb8" stroke-width="2" marker-start="url(#bothFrame)" marker-end="url(#bothFrame)"/>
|
|
155
|
+
<text x="980" y="559" font-size="10.5" font-weight="400" fill="#0b6fb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">↑ per-round prompt (state block + this round's question) ↓ single JSON receipt</text>
|
|
156
|
+
<line x1="556" y1="400" x2="578" y2="400" stroke="#b26a00" stroke-width="1.8" stroke-dasharray="7 5" marker-start="url(#bothHouse)" marker-end="url(#bothHouse)"/>
|
|
157
|
+
<line x1="556" y1="430" x2="578" y2="430" stroke="#b26a00" stroke-width="1.8" stroke-dasharray="7 5" marker-start="url(#bothHouse)" marker-end="url(#bothHouse)"/>
|
|
158
|
+
<line x1="400" y1="940" x2="400" y2="964" stroke="#1f7a52" stroke-width="2" marker-start="url(#bothData)" marker-end="url(#bothData)"/>
|
|
159
|
+
<text x="392" y="956" font-size="10.5" font-weight="400" fill="#1f7a52" text-anchor="end" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">load / commit / fold</text>
|
|
160
|
+
<line x1="1280" y1="940" x2="1280" y2="964" stroke="#1f7a52" stroke-width="2" marker-start="url(#bothData)" marker-end="url(#bothData)"/>
|
|
161
|
+
<text x="1288" y="956" font-size="10.5" font-weight="400" fill="#1f7a52" text-anchor="start" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">read/write artifacts</text>
|
|
162
|
+
<text x="52" y="1186" font-size="12" font-weight="700" fill="#10202e" text-anchor="start">Legend</text>
|
|
163
|
+
<rect x="108" y="1175" width="14" height="14" rx="3" fill="#ffffff" stroke="#5b4bb8" stroke-width="2"/>
|
|
164
|
+
<text x="129" y="1187" font-size="11" font-weight="400" fill="#2c4557" text-anchor="start">Institute office / human (no research, no vote)</text>
|
|
165
|
+
<rect x="438" y="1175" width="14" height="14" rx="3" fill="#ffffff" stroke="#b26a00" stroke-width="2"/>
|
|
166
|
+
<text x="459" y="1187" font-size="11" font-weight="400" fill="#2c4557" text-anchor="start">Members and org (dashed = not framework)</text>
|
|
167
|
+
<rect x="768" y="1175" width="14" height="14" rx="3" fill="#ffffff" stroke="#0b6fb8" stroke-width="2"/>
|
|
168
|
+
<text x="789" y="1187" font-size="11" font-weight="400" fill="#2c4557" text-anchor="start">Framework (relay / persist / count / sched.)</text>
|
|
169
|
+
<rect x="1098" y="1175" width="14" height="14" rx="3" fill="#ffffff" stroke="#1f7a52" stroke-width="2"/>
|
|
170
|
+
<text x="1119" y="1187" font-size="11" font-weight="400" fill="#2c4557" text-anchor="start">State and artifacts</text>
|
|
171
|
+
<rect x="1428" y="1175" width="14" height="14" rx="3" fill="#ffffff" stroke="#b3202c" stroke-width="2"/>
|
|
172
|
+
<text x="1449" y="1187" font-size="11" font-weight="400" fill="#2c4557" text-anchor="start">Truth gate / Lean formalization (adjustable)</text>
|
|
173
|
+
</g>
|
|
174
|
+
</svg>
|
|
@@ -112,30 +112,30 @@
|
|
|
112
112
|
<rect x="248" y="880" width="1410" height="38" rx="10" fill="#ffffff" stroke="#0b6fb8" stroke-width="1.6"/>
|
|
113
113
|
<text x="953" y="903.1" font-size="11.5" font-weight="700" fill="#10202e" text-anchor="middle">调度器优先级:进行中的会议或验证(二者互斥,永不同时)→ 队列中的验证 → 暂存会议 → 已认领/被分派的在办任务(按 activityTimeoutMs 节流)→ 加急邮件 → 群聊摘要 → 停滞自动开会 → 兜底心跳</text>
|
|
114
114
|
<rect x="40" y="964" width="790" height="196" rx="14" fill="#eef7f1" stroke="#1f7a52" stroke-width="2"/>
|
|
115
|
-
<text x="58" y="991" font-size="15" font-weight="700" fill="#125a3c"
|
|
116
|
-
<text x="58" y="1011" font-size="12" fill="#5d7788"
|
|
115
|
+
<text x="58" y="991" font-size="15" font-weight="700" fill="#125a3c">状态权威源:加固 JSON 文件 State/<institute>.v5state.json</text>
|
|
116
|
+
<text x="58" y="1011" font-size="12" fill="#5d7788">同一份纯折叠 applyV5Event · 整份快照经串行 promise 链写入 · 读前必先 load —— 事件不进模型上下文(零 token 成本)</text>
|
|
117
117
|
<rect x="62" y="1020" width="360" height="124" rx="10" fill="#ffffff" stroke="#1f7a52" stroke-width="1.6"/>
|
|
118
118
|
<text x="242" y="1046.3" font-size="12" font-weight="700" fill="#10202e" text-anchor="middle">applyV5Event(纯折叠,只此一份)</text>
|
|
119
|
-
<text x="242" y="1062.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">
|
|
119
|
+
<text x="242" y="1062.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">12 类事件:institute / member / task /</text>
|
|
120
120
|
<text x="242" y="1078.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">message / delivered / meeting / debate /</text>
|
|
121
|
-
<text x="242" y="1094.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">verdict / queue / counters / progress</text>
|
|
121
|
+
<text x="242" y="1094.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">verdict / formal / queue / counters / progress</text>
|
|
122
122
|
<text x="242" y="1110.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">未知或损坏事件 → 跳过并记入 diagnostics:</text>
|
|
123
123
|
<text x="242" y="1126.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">可用性优先,绝不因一条坏事件卡死全场</text>
|
|
124
124
|
<rect x="434" y="1020" width="374" height="124" rx="10" fill="#ffffff" stroke="#1f7a52" stroke-width="1.6"/>
|
|
125
|
-
<text x="621" y="1046.3" font-size="12" font-weight="700" fill="#10202e" text-anchor="middle"
|
|
126
|
-
<text x="621" y="1062.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle"
|
|
127
|
-
<text x="621" y="1078.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle"
|
|
128
|
-
<text x="621" y="1094.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle"
|
|
129
|
-
<text x="621" y="1110.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle"
|
|
130
|
-
<text x="621" y="1126.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle"
|
|
125
|
+
<text x="621" y="1046.3" font-size="12" font-weight="700" fill="#10202e" text-anchor="middle">唯一后端:加固 JSON 文件</text>
|
|
126
|
+
<text x="621" y="1062.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">读之前必先 load;每次提交把整份快照经</text>
|
|
127
|
+
<text x="621" y="1078.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">一条串行 promise 链写入(后写者不会用旧</text>
|
|
128
|
+
<text x="621" y="1094.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">子集覆盖新状态);跨进程与同进程恢复走</text>
|
|
129
|
+
<text x="621" y="1110.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">同一条代码路径:读文件 → 折叠</text>
|
|
130
|
+
<text x="621" y="1126.3" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">研究所事件绝不写进宿主会话日志(DSH 拒载未知事件)</text>
|
|
131
131
|
<rect x="852" y="964" width="828" height="196" rx="14" fill="#eef7f1" stroke="#1f7a52" stroke-width="2"/>
|
|
132
|
-
<text x="870" y="991" font-size="15" font-weight="700" fill="#125a3c"
|
|
133
|
-
<text x="870" y="1011" font-size="12" fill="#5d7788"
|
|
132
|
+
<text x="870" y="991" font-size="15" font-weight="700" fill="#125a3c">文件面:人可读产物(除 State/<institute>.v5state.json 外都只是镜像)</text>
|
|
133
|
+
<text x="870" y="1011" font-size="12" fill="#5d7788">权威状态是 State/<institute>.v5state.json;文件是工作区与可读产物,手工改坏不会破坏研究所</text>
|
|
134
134
|
<rect x="874" y="1020" width="784" height="124" rx="10" fill="#ffffff" stroke="#1f7a52" stroke-width="1.6"/>
|
|
135
135
|
<text x="1266" y="1055.1" font-size="11.5" font-weight="700" fill="#10202e" text-anchor="middle">Members/<id>/Progress|Propos|Methods|Subproblems/</text>
|
|
136
136
|
<text x="1266" y="1070.6" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">只有本人可写,人人可读(跨读被鼓励)</text>
|
|
137
137
|
<text x="1266" y="1086.1" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Shared/Chat/*.md · Shared/Meetings/<mt-id>.md · Shared/Debates/<obj>.md</text>
|
|
138
|
-
<text x="1266" y="1101.6" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Shared/TaskBoard.md · Institutes.md(编制镜像)· State/README.md
|
|
138
|
+
<text x="1266" y="1101.6" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Shared/TaskBoard.md · Institutes.md(编制镜像)· State/README.md(说明权威=同目录 v5state.json)</text>
|
|
139
139
|
<text x="1266" y="1117.1" font-size="10.5" font-weight="400" fill="#2c4557" text-anchor="middle">Problems/<id>.md(原问题)· Problems/conclusion.md(结题)· Verified/<类型>/<id>.md(定论,只读)</text>
|
|
140
140
|
<path d="M 127 290 L 127 700 L 226 700" fill="none" stroke="#5b4bb8" stroke-width="2" marker-start="url(#bothHuman)" marker-end="url(#bothHuman)"/>
|
|
141
141
|
<text x="127" y="336" font-size="12" font-weight="700" fill="#5b4bb8" text-anchor="middle" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">工具面</text>
|
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
<line x1="556" y1="400" x2="578" y2="400" stroke="#b26a00" stroke-width="1.8" stroke-dasharray="7 5" marker-start="url(#bothHouse)" marker-end="url(#bothHouse)"/>
|
|
157
157
|
<line x1="556" y1="430" x2="578" y2="430" stroke="#b26a00" stroke-width="1.8" stroke-dasharray="7 5" marker-start="url(#bothHouse)" marker-end="url(#bothHouse)"/>
|
|
158
158
|
<line x1="400" y1="940" x2="400" y2="964" stroke="#1f7a52" stroke-width="2" marker-start="url(#bothData)" marker-end="url(#bothData)"/>
|
|
159
|
-
<text x="392" y="956" font-size="10.5" font-weight="400" fill="#1f7a52" text-anchor="end" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">
|
|
159
|
+
<text x="392" y="956" font-size="10.5" font-weight="400" fill="#1f7a52" text-anchor="end" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">load / commit / fold</text>
|
|
160
160
|
<line x1="1280" y1="940" x2="1280" y2="964" stroke="#1f7a52" stroke-width="2" marker-start="url(#bothData)" marker-end="url(#bothData)"/>
|
|
161
161
|
<text x="1288" y="956" font-size="10.5" font-weight="400" fill="#1f7a52" text-anchor="start" paint-order="stroke" stroke="#ffffff" stroke-width="4" stroke-linejoin="round">读写产物</text>
|
|
162
162
|
<text x="52" y="1186" font-size="12" font-weight="700" fill="#10202e" text-anchor="start">图例</text>
|