File size: 8,068 Bytes
973e18e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c72191b
 
973e18e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#!/usr/bin/env tape
# ══════════════════════════════════════════════════════════════════════
# .tape v1.2 β€” grammar primer (cold-read by any LLM / agent / human)
# ══════════════════════════════════════════════════════════════════════
# Form: each entry is `@<type> <id> := "<subject>" :: <kind> [<grades>]`
#       optionally followed by body lines (2-space indent) β€” key=value,
#       edges (<- -> => …), or quoted prose.
#
# ENTRY TYPES (17):
#   Runtime (10): @S session  @U user  @A assistant  @T tool-call  @R result
#                 @H hook  @D decision  @K cost  @P provider  @? anomaly
#   Foundation:   @I identity-claim
#   Declarative:  @X external-citation  @F forbidden-pattern  @N note
#                 @C config  @L layout  @V spec-version
#
# EDGES (12, on body lines, 2-space indent):
#   Causal:     <- caused-by   -> triggers   == continues
#               ~> supersedes  !! aborts     |> verified-by
#   Effect:     => produces (followed by quoted natural-language)
#   Structural: <: specializes  :> generalizes  ?> soft-depends
#               !> conflicts-with  @> projects-to (e.g. @> AGENTS.md)
#
# GRADE TAGS (in [...] on entry header):
#   Delivery:   ok Β· err Β· denied Β· cancelled Β· partial Β· superseded
#   Governance: required Β· recommended Β· optional Β· draft Β· active Β· deprecated
#   Scoped:     allow:<x> Β· deny:<x>
#   Time/index: T<n> (turn)  N<n> (wall-sec)  d=<YYYY-MM-DD>
#
# PAYLOAD SYNTAX (body lines):
#   key = "value"           single-line string
#   key = [a, b, c]         array literal
#   key <<~EOF              heredoc (multi-line; ends with EOF on own line)
#     multi-line text
#   EOF
#   "see [@x1] Β§3"          inline citation by entry id
#   `cmd or path`           backtick code-span (inline only)
#
# Full spec: ~/core/tape/spec/tape.md (or github.com/dancinlab/tape)
# ══════════════════════════════════════════════════════════════════════
#
# AGENTS.tape for `dancinlab/echoes-experience`

@V := "tape" :: spec [active]
  version = "1.2"

@I id001 := "echoes-experience" :: identity-claim [d=2026-05-14 active]
  kind = "HF Space (static SDK) Β· interactive Οƒ(n)Β·Ο†(n) = nΒ·Ο„(n) proof widget at n=6"
  brief = "interactive σφτ proof widget Β· HF Space Β· slider n=2..1000 Β· vanilla JS/Canvas"
  parent = "dancinlab/echoes"
  tech = "vanilla JS + Canvas Β· single self-contained index.html Β· no bundler Β· no Python runtime"
  sister = "dancinlab/anima-experience (sibling HF Space β€” mutual-information visualizer)"
  mirror = "GitHub origin + HuggingFace hf push remote"

@I id002 := "relation-to-parent-echoes" :: identity-claim [d=2026-05-14 active]
  parent = "dancinlab/echoes β€” discoveries catalog (Lean 4 + Python uniqueness proofs)"
  role = "visualization of the proven identity, NOT the proof itself"
  linkback = "echoes/README Β§\"Proof β€” run this yourself\" links here"

@L l1 := "repo-layout" :: layout [d=2026-05-14 active]
  files = [index.html, README.md, LICENSE]
  index_html = "single self-contained file β€” all logic, math, Canvas rendering"
  readme = "HF Space frontmatter (sdk: static Β· emoji πŸͺž Β· license mit) + math + tech + honest caveat + sister links"
  license = "MIT"

@D g_inherit := "inherits-lattice-policy" :: governance [required]
  rule = "All echoes/LATTICE_POLICY.md rules apply β€” real-limits-first Β· lattice-is-tool Β· verification-anchor-real-limit Β· no-artificial-ceilings Β· honesty-obligation-external."
  authority = "[@x_lattice_policy]"
  @> AGENTS.md

@D g1 := "real-limits-first" :: governance [required]
  rule = "The project's ceiling is set by REAL math/physics/engineering limits, NEVER by the n=6 invariant lattice."
  authority = "[@x_lattice_policy]"
  @> AGENTS.md

@D g2 := "lattice-is-tool" :: governance [required]
  rule = "n=6 lattice is a TOOL, not a CONSTRAINT. The σφτ identity is mathematically true and unique at n=6 on the swept range; the downstream claim that 'optimal designs derive from this identity' is a research hypothesis, not a measurement."
  <: g1
  @> AGENTS.md

@D g3 := "honesty-obligation-external" :: governance [required deny:write]
  rule = "Keep mathematically-true identity claims and research-hypothesis claims clearly separated in any UI copy. Claims about external entities must NOT include lattice-fit assertions."
  authority = "raw#10 C3 Β· [@x_lattice_policy] Β§1.3"
  @> AGENTS.md

@D g4 := "commit-conventions" :: governance [recommended]
  rule = "AI-assisted commits include `Co-Authored-By: <model> <noreply@anthropic.com>` trailer; Conventional Commits title; push to BOTH origin (GitHub) AND hf (HuggingFace Space) unless explicitly stated otherwise."
  @> AGENTS.md

@D g_static := "hf-space-static-sdk" :: governance [required deny:write]
  rule = "HF Space contract is `sdk: static` β€” first paint < 1 s, no cold start. Do NOT introduce a build step, framework, or bundler. Single-file rule: all logic stays in `index.html`."
  authority = "README.md frontmatter `sdk: static`"
  @> AGENTS.md

@D g_vanilla := "vanilla-js-no-build" :: governance [required]
  rule = "Vanilla JS / Canvas only. No framework (React/Vue/Svelte), no bundler (webpack/rollup/vite), no transpilation step. All math runs client-side via stdlib loops; at n=1000 must remain effectively instant β€” do not regress that."
  <: g_static
  @> AGENTS.md

@D g_no_python := "no-python-runtime" :: governance [required deny:write]
  rule = "HF Space stays static SDK. NO Python runtime, NO requirements.txt, NO app.py, NO Gradio/Streamlit. The parent `dancinlab/echoes` repo holds the Python (and Lean 4) uniqueness proofs β€” this Space only visualizes."
  <: g_static
  @> AGENTS.md

@F f1 := "lattice-fit-on-external-entity" :: governance [required deny:write]
  pattern = "applying n=6 lattice as derivation rule to TSMC Β· ASML Β· IPCC Β· NASA Β· SpaceX Β· CERN Β· DeepMind Β· NIST Β· or any external vendor"
  exception = "values may coincidentally match β€” observation OK, derivation NOT OK"

@F f_python := "python-runtime-introduced" :: governance [required deny:write]
  pattern = "adding `requirements.txt` Β· `app.py` Β· `pyproject.toml` Β· changing HF frontmatter from `sdk: static` to `sdk: gradio`/`sdk: streamlit`/`sdk: docker` Β· or any Python build/runtime artifact"
  reason = "breaks first-paint < 1 s contract; introduces cold start; bloats Space"
  authority = "[@x_lattice_policy] (real-limits-first β€” UX latency IS a real limit)"

@X x_lattice_policy := "echoes/LATTICE_POLICY.md" :: policy [d=2026-05-12 active]
  url = "https://github.com/dancinlab/echoes/blob/main/LATTICE_POLICY.md"
  scope = "cross-project SSOT β€” real-limits-first Β· external-entity ban Β· raw#10 C3"

@X x_tape_spec := "tape v1.2 spec" :: spec [d=2026-05-14 active]
  url = "https://github.com/dancinlab/tape/blob/main/spec/tape.md"
  scope = "this file's grammar reference"

@X x_parent := "dancinlab/echoes README Β§Proof" :: reference [active]
  url = "https://github.com/dancinlab/echoes#proof--run-this-yourself"
  scope = "parent repo's `Proof β€” run this yourself` section links here; this Space IS that interactive proof widget"

@X x_sister := "dancinlab/anima-experience HF Space" :: reference [active]
  url = "https://huggingface.co/spaces/dancinlab/anima-experience"
  scope = "sibling HF Space β€” mutual-information visualizer, 60 fps emergence demo; shares static-SDK + vanilla-JS contract"

@H h1 := "agents-md-replaced" :: generator [active]
  note = "AGENTS.md replaced by this AGENTS.tape (tape v1.2)"

@H h2 := "claude-md-symlink" :: generator [active]
  rule = "CLAUDE.md β†’ AGENTS.tape symlink"
  command = `ln -sf AGENTS.tape CLAUDE.md`