Spaces:
Running
Running
deploy(hf): sync szl-holdings/a11oy@6acc6c7522620b51915373c278d52c7a95ffb3bd derived COPY set
Browse filesReusable Dockerfile-COPY-derived deploy from szl-holdings/a11oy 6acc6c7522620b51915373c278d52c7a95ffb3bd.
Files: 1353 Pruned: 0
Derived from Dockerfile COPY sources (NO hand-maintained allowlist).
Signed-off-by: SZL Holdings <noreply@szlholdings.ai>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- a11oy_command_center.py +52 -16
- a11oy_deva_feeds.py +56 -2
- a11oy_vertical_feeds.py +4 -2
- console/assets/brain-frontier-v7.json +30 -30
- szl_lyte_lattice.py +105 -43
a11oy_command_center.py
CHANGED
|
@@ -10,12 +10,21 @@ Additive tabs:
|
|
| 10 |
GET+HEAD /command
|
| 11 |
GET+HEAD /command/constellation
|
| 12 |
GET+HEAD /command/brain
|
|
|
|
| 13 |
GET+HEAD /command/{rest}
|
|
|
|
|
|
|
| 14 |
"""
|
| 15 |
from pathlib import Path
|
| 16 |
from typing import List
|
| 17 |
|
| 18 |
MOUNTS = ("/command",)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
|
| 20 |
|
| 21 |
def _spa_path() -> Path:
|
|
@@ -49,12 +58,24 @@ def _existing_paths(app) -> set:
|
|
| 49 |
return set()
|
| 50 |
|
| 51 |
|
| 52 |
-
def
|
|
|
|
| 53 |
router = getattr(app, "router", app)
|
| 54 |
routes = getattr(router, "routes", None)
|
| 55 |
if not routes:
|
| 56 |
return
|
| 57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
if not chosen:
|
| 59 |
return
|
| 60 |
for r in chosen:
|
|
@@ -62,6 +83,8 @@ def _front_move(app, paths: set) -> None:
|
|
| 62 |
routes.remove(r)
|
| 63 |
except ValueError:
|
| 64 |
pass
|
|
|
|
|
|
|
| 65 |
for r in reversed(chosen):
|
| 66 |
routes.insert(0, r)
|
| 67 |
|
|
@@ -73,7 +96,7 @@ def register(app, ns: str = "a11oy") -> List[str]:
|
|
| 73 |
if not spa.is_file():
|
| 74 |
return [f"command-center SPA missing at {spa}"]
|
| 75 |
|
| 76 |
-
from starlette.responses import FileResponse
|
| 77 |
from starlette.routing import Route
|
| 78 |
|
| 79 |
async def _spa(_request=None, rest: str = ""):
|
|
@@ -85,15 +108,24 @@ def register(app, ns: str = "a11oy") -> List[str]:
|
|
| 85 |
page = _page(name)
|
| 86 |
if page.is_file():
|
| 87 |
return FileResponse(page, media_type="text/html; charset=utf-8")
|
| 88 |
-
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 89 |
return _handler
|
| 90 |
|
|
|
|
|
|
|
| 91 |
existing = _existing_paths(app)
|
| 92 |
mounted: set = set()
|
| 93 |
router = getattr(app, "router", app)
|
| 94 |
|
| 95 |
def _add(path: str, handler, methods: List[str]) -> None:
|
| 96 |
-
if path in existing and path !=
|
| 97 |
registered.append("%s already registered (skipped)" % path)
|
| 98 |
return
|
| 99 |
try:
|
|
@@ -106,14 +138,11 @@ def register(app, ns: str = "a11oy") -> List[str]:
|
|
| 106 |
|
| 107 |
for path in MOUNTS:
|
| 108 |
_add(path, _spa, ["GET", "HEAD"])
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
_add(
|
| 112 |
-
_front_move(
|
| 113 |
-
|
| 114 |
-
mounted | set(MOUNTS) | {"/command/constellation", "/command/brain", "/command/{rest:path}"},
|
| 115 |
-
)
|
| 116 |
-
registered.append("command-center on /command (does not steal /console; not a landing door)")
|
| 117 |
return registered
|
| 118 |
|
| 119 |
|
|
@@ -137,7 +166,10 @@ def _selftest() -> None:
|
|
| 137 |
async def _console(_req):
|
| 138 |
return HTMLResponse("<html><body>operator console</body></html>")
|
| 139 |
|
| 140 |
-
|
|
|
|
|
|
|
|
|
|
| 141 |
out = register(app, ns="a11oy")
|
| 142 |
assert any("/command" in row for row in out), out
|
| 143 |
c = TestClient(app)
|
|
@@ -145,14 +177,18 @@ def _selftest() -> None:
|
|
| 145 |
r = c.get(path)
|
| 146 |
assert r.status_code == 200, (path, r.status_code)
|
| 147 |
if _page("constellation.html").is_file():
|
| 148 |
-
|
|
|
|
|
|
|
|
|
|
| 149 |
if _page("second-brain.html").is_file():
|
| 150 |
br = c.get("/command/brain")
|
| 151 |
assert br.status_code == 200
|
| 152 |
assert "Second Brain" in br.text
|
| 153 |
assert "F1" in br.text
|
|
|
|
| 154 |
assert c.get("/console").status_code == 200
|
| 155 |
-
print("a11oy_command_center: ALL OK (
|
| 156 |
|
| 157 |
|
| 158 |
if __name__ == "__main__":
|
|
|
|
| 10 |
GET+HEAD /command
|
| 11 |
GET+HEAD /command/constellation
|
| 12 |
GET+HEAD /command/brain
|
| 13 |
+
GET+HEAD /constellation (host-root; declared so SPA fallback cannot 404 it)
|
| 14 |
GET+HEAD /command/{rest}
|
| 15 |
+
|
| 16 |
+
Host-root /brain is Hickok dual-stream. Do not steal it.
|
| 17 |
"""
|
| 18 |
from pathlib import Path
|
| 19 |
from typing import List
|
| 20 |
|
| 21 |
MOUNTS = ("/command",)
|
| 22 |
+
SPECIFIC = (
|
| 23 |
+
("/command/constellation", "constellation.html"),
|
| 24 |
+
("/command/brain", "second-brain.html"),
|
| 25 |
+
("/constellation", "constellation.html"),
|
| 26 |
+
)
|
| 27 |
+
CATCHALL = "/command/{rest:path}"
|
| 28 |
|
| 29 |
|
| 30 |
def _spa_path() -> Path:
|
|
|
|
| 58 |
return set()
|
| 59 |
|
| 60 |
|
| 61 |
+
def _drop_paths(app, paths: set) -> None:
|
| 62 |
+
"""Remove exact path registrations so we can replace SPA stubs."""
|
| 63 |
router = getattr(app, "router", app)
|
| 64 |
routes = getattr(router, "routes", None)
|
| 65 |
if not routes:
|
| 66 |
return
|
| 67 |
+
keep = [r for r in list(routes) if getattr(r, "path", None) not in paths]
|
| 68 |
+
routes[:] = keep
|
| 69 |
+
|
| 70 |
+
|
| 71 |
+
def _front_move(app, paths: list) -> None:
|
| 72 |
+
"""Park exact routes at the front, in given order. Never include the catch-all."""
|
| 73 |
+
router = getattr(app, "router", app)
|
| 74 |
+
routes = getattr(router, "routes", None)
|
| 75 |
+
if not routes:
|
| 76 |
+
return
|
| 77 |
+
wanted = set(paths)
|
| 78 |
+
chosen = [r for r in routes if getattr(r, "path", None) in wanted]
|
| 79 |
if not chosen:
|
| 80 |
return
|
| 81 |
for r in chosen:
|
|
|
|
| 83 |
routes.remove(r)
|
| 84 |
except ValueError:
|
| 85 |
pass
|
| 86 |
+
order = {p: i for i, p in enumerate(paths)}
|
| 87 |
+
chosen.sort(key=lambda r: order.get(getattr(r, "path", ""), 99))
|
| 88 |
for r in reversed(chosen):
|
| 89 |
routes.insert(0, r)
|
| 90 |
|
|
|
|
| 96 |
if not spa.is_file():
|
| 97 |
return [f"command-center SPA missing at {spa}"]
|
| 98 |
|
| 99 |
+
from starlette.responses import FileResponse, JSONResponse
|
| 100 |
from starlette.routing import Route
|
| 101 |
|
| 102 |
async def _spa(_request=None, rest: str = ""):
|
|
|
|
| 108 |
page = _page(name)
|
| 109 |
if page.is_file():
|
| 110 |
return FileResponse(page, media_type="text/html; charset=utf-8")
|
| 111 |
+
return JSONResponse(
|
| 112 |
+
{
|
| 113 |
+
"status": "NOT_FOUND",
|
| 114 |
+
"reason": "constellation page missing from image",
|
| 115 |
+
"page": name,
|
| 116 |
+
},
|
| 117 |
+
status_code=404,
|
| 118 |
+
)
|
| 119 |
return _handler
|
| 120 |
|
| 121 |
+
specific_paths = {path for path, _name in SPECIFIC}
|
| 122 |
+
_drop_paths(app, specific_paths)
|
| 123 |
existing = _existing_paths(app)
|
| 124 |
mounted: set = set()
|
| 125 |
router = getattr(app, "router", app)
|
| 126 |
|
| 127 |
def _add(path: str, handler, methods: List[str]) -> None:
|
| 128 |
+
if path in existing and path != CATCHALL:
|
| 129 |
registered.append("%s already registered (skipped)" % path)
|
| 130 |
return
|
| 131 |
try:
|
|
|
|
| 138 |
|
| 139 |
for path in MOUNTS:
|
| 140 |
_add(path, _spa, ["GET", "HEAD"])
|
| 141 |
+
for path, name in SPECIFIC:
|
| 142 |
+
_add(path, _file(name), ["GET", "HEAD"])
|
| 143 |
+
_add(CATCHALL, _spa, ["GET", "HEAD"])
|
| 144 |
+
_front_move(app, [path for path, _name in SPECIFIC] + list(MOUNTS))
|
| 145 |
+
registered.append("command-center on /command (constellation/brain beat catch-all; /brain host-root untouched)")
|
|
|
|
|
|
|
|
|
|
| 146 |
return registered
|
| 147 |
|
| 148 |
|
|
|
|
| 166 |
async def _console(_req):
|
| 167 |
return HTMLResponse("<html><body>operator console</body></html>")
|
| 168 |
|
| 169 |
+
async def _hickok(_req):
|
| 170 |
+
return HTMLResponse("<html><body>Hickok dual-stream</body></html>")
|
| 171 |
+
|
| 172 |
+
app = Starlette(routes=[Route("/console", _console), Route("/brain", _hickok)])
|
| 173 |
out = register(app, ns="a11oy")
|
| 174 |
assert any("/command" in row for row in out), out
|
| 175 |
c = TestClient(app)
|
|
|
|
| 177 |
r = c.get(path)
|
| 178 |
assert r.status_code == 200, (path, r.status_code)
|
| 179 |
if _page("constellation.html").is_file():
|
| 180 |
+
for path in ("/command/constellation", "/constellation"):
|
| 181 |
+
body = c.get(path).text
|
| 182 |
+
assert "Constellation" in body, path
|
| 183 |
+
assert "Control before capability" not in body
|
| 184 |
if _page("second-brain.html").is_file():
|
| 185 |
br = c.get("/command/brain")
|
| 186 |
assert br.status_code == 200
|
| 187 |
assert "Second Brain" in br.text
|
| 188 |
assert "F1" in br.text
|
| 189 |
+
assert "Hickok" in c.get("/brain").text
|
| 190 |
assert c.get("/console").status_code == 200
|
| 191 |
+
print("a11oy_command_center: ALL OK (constellation beats catch-all; /brain host-root untouched)")
|
| 192 |
|
| 193 |
|
| 194 |
if __name__ == "__main__":
|
a11oy_deva_feeds.py
CHANGED
|
@@ -433,6 +433,55 @@ def _cached_fetch(key: str, url: str, ttl: float, parser=None,
|
|
| 433 |
return result
|
| 434 |
|
| 435 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 436 |
# ===========================================================================
|
| 437 |
# GOVERNED TURN — delegate to the proven machinery in a11oy_vertical_feeds.
|
| 438 |
# ===========================================================================
|
|
@@ -956,12 +1005,17 @@ def register(app: FastAPI, ns: str = "a11oy") -> dict[str, Any]:
|
|
| 956 |
(feed_dob_violations, (60,), {}),
|
| 957 |
(feed_treasury, (8,), {}),
|
| 958 |
])
|
| 959 |
-
return JSONResponse({"tab": "pulse",
|
|
|
|
|
|
|
|
|
|
| 960 |
|
| 961 |
@app.get(base + "/re/distress", include_in_schema=False)
|
| 962 |
async def _re_distress(limit: Annotated[int, Query(ge=1, le=1000)] = 300):
|
| 963 |
hpd = await _run_blocking(feed_hpd_violations, limit)
|
| 964 |
-
return JSONResponse({"tab": "distress",
|
|
|
|
|
|
|
| 965 |
|
| 966 |
@app.get(base + "/re/ownership", include_in_schema=False)
|
| 967 |
async def _re_ownership():
|
|
|
|
| 433 |
return result
|
| 434 |
|
| 435 |
|
| 436 |
+
_READINESS_PUBLIC_FRESHNESS = frozenset({"live", "cached"})
|
| 437 |
+
|
| 438 |
+
|
| 439 |
+
def _readiness_public_source(entry: Any) -> Any:
|
| 440 |
+
"""Publish one DEV-A source wrapper under the readiness truth contract.
|
| 441 |
+
|
| 442 |
+
No-value failures remain explicit ``UNAVAILABLE`` evidence and carry the
|
| 443 |
+
instant at which the failure was observed. Last-good values may be served as
|
| 444 |
+
``cached`` only when their original observation timestamp is retained.
|
| 445 |
+
"""
|
| 446 |
+
normalized = entry
|
| 447 |
+
if _HAS_VF and hasattr(_vf, "_readiness_public_source"):
|
| 448 |
+
try:
|
| 449 |
+
normalized = _vf._readiness_public_source(entry)
|
| 450 |
+
except Exception:
|
| 451 |
+
normalized = entry
|
| 452 |
+
if not isinstance(normalized, dict):
|
| 453 |
+
return normalized
|
| 454 |
+
freshness = normalized.get("freshness")
|
| 455 |
+
if not isinstance(freshness, dict):
|
| 456 |
+
return normalized
|
| 457 |
+
|
| 458 |
+
out = dict(normalized)
|
| 459 |
+
public = dict(freshness)
|
| 460 |
+
status = str(public.get("status") or "").strip().lower()
|
| 461 |
+
if out.get("value") is None:
|
| 462 |
+
public["status"] = "UNAVAILABLE"
|
| 463 |
+
if public.get("fetched_at") is None:
|
| 464 |
+
public["fetched_at"] = datetime.now(timezone.utc).isoformat()
|
| 465 |
+
if not str(public.get("error") or "").strip():
|
| 466 |
+
public["error"] = "source returned no observed value"
|
| 467 |
+
elif status not in _READINESS_PUBLIC_FRESHNESS:
|
| 468 |
+
if public.get("fetched_at") is None:
|
| 469 |
+
age_s = public.get("age_s")
|
| 470 |
+
if (
|
| 471 |
+
isinstance(age_s, (int, float))
|
| 472 |
+
and not isinstance(age_s, bool)
|
| 473 |
+
and math.isfinite(float(age_s))
|
| 474 |
+
):
|
| 475 |
+
observed = time.time() - max(0.0, float(age_s))
|
| 476 |
+
public["fetched_at"] = datetime.fromtimestamp(
|
| 477 |
+
observed, tz=timezone.utc
|
| 478 |
+
).isoformat()
|
| 479 |
+
if public.get("fetched_at") is not None:
|
| 480 |
+
public["status"] = "cached"
|
| 481 |
+
out["freshness"] = public
|
| 482 |
+
return out
|
| 483 |
+
|
| 484 |
+
|
| 485 |
# ===========================================================================
|
| 486 |
# GOVERNED TURN — delegate to the proven machinery in a11oy_vertical_feeds.
|
| 487 |
# ===========================================================================
|
|
|
|
| 1005 |
(feed_dob_violations, (60,), {}),
|
| 1006 |
(feed_treasury, (8,), {}),
|
| 1007 |
])
|
| 1008 |
+
return JSONResponse({"tab": "pulse",
|
| 1009 |
+
"hpd": _readiness_public_source(hpd),
|
| 1010 |
+
"dob": _readiness_public_source(dob),
|
| 1011 |
+
"rates": rates, "doctrine": DOCTRINE})
|
| 1012 |
|
| 1013 |
@app.get(base + "/re/distress", include_in_schema=False)
|
| 1014 |
async def _re_distress(limit: Annotated[int, Query(ge=1, le=1000)] = 300):
|
| 1015 |
hpd = await _run_blocking(feed_hpd_violations, limit)
|
| 1016 |
+
return JSONResponse({"tab": "distress",
|
| 1017 |
+
"hpd": _readiness_public_source(hpd),
|
| 1018 |
+
"doctrine": DOCTRINE})
|
| 1019 |
|
| 1020 |
@app.get(base + "/re/ownership", include_in_schema=False)
|
| 1021 |
async def _re_ownership():
|
a11oy_vertical_feeds.py
CHANGED
|
@@ -1890,8 +1890,10 @@ def register(app: FastAPI, ns: str = "a11oy") -> dict[str, Any]:
|
|
| 1890 |
(feed_nyc_dob, (30,), {}),
|
| 1891 |
(feed_treasury, (6,), {}),
|
| 1892 |
])
|
| 1893 |
-
return JSONResponse({"vertical": "realestate",
|
| 1894 |
-
"
|
|
|
|
|
|
|
| 1895 |
"sources_cited": cited_leaders("realestate"), "doctrine": DOCTRINE})
|
| 1896 |
|
| 1897 |
# ---- SHARED: governed turn, ledger, roi ----
|
|
|
|
| 1890 |
(feed_nyc_dob, (30,), {}),
|
| 1891 |
(feed_treasury, (6,), {}),
|
| 1892 |
])
|
| 1893 |
+
return JSONResponse({"vertical": "realestate",
|
| 1894 |
+
"hpd_litigations": _readiness_public_source(hpd),
|
| 1895 |
+
"dob_violations": _readiness_public_source(dob),
|
| 1896 |
+
"rates": rates,
|
| 1897 |
"sources_cited": cited_leaders("realestate"), "doctrine": DOCTRINE})
|
| 1898 |
|
| 1899 |
# ---- SHARED: governed turn, ledger, roi ----
|
console/assets/brain-frontier-v7.json
CHANGED
|
@@ -858,12 +858,12 @@
|
|
| 858 |
"candidateState": "DISCOVERED_REVIEW_REQUIRED",
|
| 859 |
"contentAccess": "HANDLES_ONLY",
|
| 860 |
"kind": "source-document",
|
| 861 |
-
"nodeId": "frontier:
|
| 862 |
"path": "README.md",
|
| 863 |
"repository": "szl-holdings/anatomy",
|
| 864 |
-
"revision": "
|
| 865 |
-
"sha256": "
|
| 866 |
-
"title": "Living Anatomy ·
|
| 867 |
},
|
| 868 |
{
|
| 869 |
"admission": "DISCOVERED_REVIEW_REQUIRED",
|
|
@@ -871,12 +871,12 @@
|
|
| 871 |
"candidateState": "DISCOVERED_REVIEW_REQUIRED",
|
| 872 |
"contentAccess": "HANDLES_ONLY",
|
| 873 |
"kind": "source-document",
|
| 874 |
-
"nodeId": "frontier:
|
| 875 |
"path": "README.md",
|
| 876 |
-
"repository": "szl-holdings/ouroboros",
|
| 877 |
-
"revision": "
|
| 878 |
-
"sha256": "
|
| 879 |
-
"title": "Ouroboros Runtime ·
|
| 880 |
},
|
| 881 |
{
|
| 882 |
"admission": "REFERENCE_ONLY_NO_PROVIDER_MUTATION",
|
|
@@ -917,6 +917,19 @@
|
|
| 917 |
"sha256": "e4a5db4dd4999f9fff034f6206503e9193177ce93a5ed16c22b2f7809f343d59",
|
| 918 |
"title": "Nemo Witness · R1–R5 prompt/answer contract"
|
| 919 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 920 |
{
|
| 921 |
"admission": "REFERENCE_ONLY_EXECUTION_AUTHORITY_NONE",
|
| 922 |
"authority": "NONE",
|
|
@@ -981,19 +994,6 @@
|
|
| 981 |
"revision": "b37fa90cc48921f15883c23932cc6ded9152f9f1",
|
| 982 |
"sha256": "f95df366bed6374733cb3f30ed9fff7d8a8912bc251039ee9a892bc82d2d4445",
|
| 983 |
"title": "Public estate · PURIQ Finance"
|
| 984 |
-
},
|
| 985 |
-
{
|
| 986 |
-
"admission": "REFERENCE_ONLY_NO_PROVIDER_MUTATION",
|
| 987 |
-
"authority": "NONE",
|
| 988 |
-
"candidateState": "DISCOVERED_REVIEW_REQUIRED",
|
| 989 |
-
"contentAccess": "HANDLES_ONLY",
|
| 990 |
-
"kind": "estate-surface",
|
| 991 |
-
"nodeId": "frontier:35674d65c290943ac3dd4e32b6d79dbf",
|
| 992 |
-
"path": "governance/public-estate.v1.json",
|
| 993 |
-
"repository": "szl-holdings/a11oy",
|
| 994 |
-
"revision": "b37fa90cc48921f15883c23932cc6ded9152f9f1",
|
| 995 |
-
"sha256": "7180e76d943ebca11753704dad3f1480c559572dcdbd985c443809dadac1b49a",
|
| 996 |
-
"title": "Public estate · Lyte"
|
| 997 |
}
|
| 998 |
],
|
| 999 |
"loop": [
|
|
@@ -1005,13 +1005,13 @@
|
|
| 1005 |
],
|
| 1006 |
"schema": "szl.a11oy.brain-frontier-holographic-v7/v1",
|
| 1007 |
"selected_handle_count": 72,
|
| 1008 |
-
"snapshot_sha256": "
|
| 1009 |
"sources": {
|
| 1010 |
"anatomy": {
|
| 1011 |
"holographic_v7_path": "/api/anatomy/v1/holographic-v7",
|
| 1012 |
"live_origin": "https://betterwithage-anatomy.hf.space",
|
| 1013 |
"repository": "szl-holdings/anatomy",
|
| 1014 |
-
"revision": "
|
| 1015 |
},
|
| 1016 |
"formulas": {
|
| 1017 |
"repository": "szl-holdings/szl-formulas",
|
|
@@ -1020,15 +1020,15 @@
|
|
| 1020 |
"ouroboros": {
|
| 1021 |
"repository": "szl-holdings/szl-ouroboros",
|
| 1022 |
"review_workflow": ".github/workflows/codex-frontier-review.yml",
|
| 1023 |
-
"revision": "
|
| 1024 |
},
|
| 1025 |
"second_brain": {
|
| 1026 |
-
"candidate_count":
|
| 1027 |
-
"candidate_file_sha256": "
|
| 1028 |
-
"candidate_set_sha256": "
|
| 1029 |
"repository": "szl-holdings/szl-second-brain",
|
| 1030 |
-
"revision": "
|
| 1031 |
-
"state_sha256": "
|
| 1032 |
}
|
| 1033 |
},
|
| 1034 |
"state": "SOURCE_BOUND_REVIEW_MEMORY",
|
|
|
|
| 858 |
"candidateState": "DISCOVERED_REVIEW_REQUIRED",
|
| 859 |
"contentAccess": "HANDLES_ONLY",
|
| 860 |
"kind": "source-document",
|
| 861 |
+
"nodeId": "frontier:0496b555a1c6096f645c095a54a520e4",
|
| 862 |
"path": "README.md",
|
| 863 |
"repository": "szl-holdings/anatomy",
|
| 864 |
+
"revision": "6422274e284c443f640c3899fc4dbb7947bd5b30",
|
| 865 |
+
"sha256": "140dfc00d2963fc95aa63751ea082ebbd6dca804bb2bb73fb2cd9f48ebeccf6b",
|
| 866 |
+
"title": "Living Anatomy · What's new in v4 — dissection tools"
|
| 867 |
},
|
| 868 |
{
|
| 869 |
"admission": "DISCOVERED_REVIEW_REQUIRED",
|
|
|
|
| 871 |
"candidateState": "DISCOVERED_REVIEW_REQUIRED",
|
| 872 |
"contentAccess": "HANDLES_ONLY",
|
| 873 |
"kind": "source-document",
|
| 874 |
+
"nodeId": "frontier:045f25cf150ad87033dfb108dfa82a0d",
|
| 875 |
"path": "README.md",
|
| 876 |
+
"repository": "szl-holdings/szl-ouroboros",
|
| 877 |
+
"revision": "cd8a451ca2be19f71653dcb4ef50e15e6836e697",
|
| 878 |
+
"sha256": "5cc957baf65a8ca1a800824c68de6f683c3868d9cbbe511c4d39d9647a1bd74d",
|
| 879 |
+
"title": "Ouroboros Runtime · Continuous Codex frontier loop"
|
| 880 |
},
|
| 881 |
{
|
| 882 |
"admission": "REFERENCE_ONLY_NO_PROVIDER_MUTATION",
|
|
|
|
| 917 |
"sha256": "e4a5db4dd4999f9fff034f6206503e9193177ce93a5ed16c22b2f7809f343d59",
|
| 918 |
"title": "Nemo Witness · R1–R5 prompt/answer contract"
|
| 919 |
},
|
| 920 |
+
{
|
| 921 |
+
"admission": "DISCOVERED_REVIEW_REQUIRED",
|
| 922 |
+
"authority": "NONE",
|
| 923 |
+
"candidateState": "DISCOVERED_REVIEW_REQUIRED",
|
| 924 |
+
"contentAccess": "HANDLES_ONLY",
|
| 925 |
+
"kind": "source-document",
|
| 926 |
+
"nodeId": "frontier:01e71648eb1b513c4c8cede0232e2a9f",
|
| 927 |
+
"path": "README.md",
|
| 928 |
+
"repository": "szl-holdings/szl-kernels",
|
| 929 |
+
"revision": "45a56d0b132945e06a2d88a104f26c4840abebe2",
|
| 930 |
+
"sha256": "116e0b8e0097aed00e3c88c775bb1cebc73e047842ecfd38350dba36182e8483",
|
| 931 |
+
"title": "Governed Kernel Suite · Cookbook"
|
| 932 |
+
},
|
| 933 |
{
|
| 934 |
"admission": "REFERENCE_ONLY_EXECUTION_AUTHORITY_NONE",
|
| 935 |
"authority": "NONE",
|
|
|
|
| 994 |
"revision": "b37fa90cc48921f15883c23932cc6ded9152f9f1",
|
| 995 |
"sha256": "f95df366bed6374733cb3f30ed9fff7d8a8912bc251039ee9a892bc82d2d4445",
|
| 996 |
"title": "Public estate · PURIQ Finance"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 997 |
}
|
| 998 |
],
|
| 999 |
"loop": [
|
|
|
|
| 1005 |
],
|
| 1006 |
"schema": "szl.a11oy.brain-frontier-holographic-v7/v1",
|
| 1007 |
"selected_handle_count": 72,
|
| 1008 |
+
"snapshot_sha256": "e8f600fad7b9bdc4d316e41946f78f89bb754bf193fd6613e3f9cfd4cc36f417",
|
| 1009 |
"sources": {
|
| 1010 |
"anatomy": {
|
| 1011 |
"holographic_v7_path": "/api/anatomy/v1/holographic-v7",
|
| 1012 |
"live_origin": "https://betterwithage-anatomy.hf.space",
|
| 1013 |
"repository": "szl-holdings/anatomy",
|
| 1014 |
+
"revision": "075a2484c1e520d4e5767c1a2780de9bd8827e6c"
|
| 1015 |
},
|
| 1016 |
"formulas": {
|
| 1017 |
"repository": "szl-holdings/szl-formulas",
|
|
|
|
| 1020 |
"ouroboros": {
|
| 1021 |
"repository": "szl-holdings/szl-ouroboros",
|
| 1022 |
"review_workflow": ".github/workflows/codex-frontier-review.yml",
|
| 1023 |
+
"revision": "371b611716d459ca7e96d1bde7630c813bfcdd83"
|
| 1024 |
},
|
| 1025 |
"second_brain": {
|
| 1026 |
+
"candidate_count": 129,
|
| 1027 |
+
"candidate_file_sha256": "fb15e2d2822a9afb445c3eae7e077a7c250a59565fdd395a9e11f2247b12a884",
|
| 1028 |
+
"candidate_set_sha256": "fb15e2d2822a9afb445c3eae7e077a7c250a59565fdd395a9e11f2247b12a884",
|
| 1029 |
"repository": "szl-holdings/szl-second-brain",
|
| 1030 |
+
"revision": "1d3960c69235f117b7ec2b5ea97472f81fb588f5",
|
| 1031 |
+
"state_sha256": "ffafd9d7259aa3281fb00f40f13ff3fc4443cded40b026276414d09a6be61a39"
|
| 1032 |
}
|
| 1033 |
},
|
| 1034 |
"state": "SOURCE_BOUND_REVIEW_MEMORY",
|
szl_lyte_lattice.py
CHANGED
|
@@ -6,6 +6,7 @@ szl_lyte_lattice.py — BIND_AS_A11OY_PACKAGE status surface.
|
|
| 6 |
|
| 7 |
Cites szl-holdings/lyte-lattice @ 9db7f25. Not a second flagship.
|
| 8 |
Not a production certificate of a-11-oy.com.
|
|
|
|
| 9 |
"""
|
| 10 |
from __future__ import annotations
|
| 11 |
|
|
@@ -66,6 +67,29 @@ _WAVES = [
|
|
| 66 |
{"id": "W3", "name": "Plane edge", "cells": ["N19", "N20", "N21", "N22", "N23", "N24", "N25", "N26", "N27"], "admitted": 8, "blocked": 1},
|
| 67 |
]
|
| 68 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 69 |
|
| 70 |
def _unsigned_receipt(payload: Dict[str, Any]) -> Dict[str, Any]:
|
| 71 |
blob = json.dumps(payload, sort_keys=True, separators=(",", ":")).encode("utf-8")
|
|
@@ -86,7 +110,6 @@ def _unsigned_receipt(payload: Dict[str, Any]) -> Dict[str, Any]:
|
|
| 86 |
def _khipu_receipt(payload: Dict[str, Any]) -> Optional[Dict[str, Any]]:
|
| 87 |
try:
|
| 88 |
import szl_khipu # type: ignore
|
| 89 |
-
|
| 90 |
dag = szl_khipu.get_dag(_KHIPU_ORGAN, ns="a11oy")
|
| 91 |
r = dag.emit("lyte-lattice.status", payload)
|
| 92 |
signed = bool(r.get("signature"))
|
|
@@ -207,41 +230,97 @@ def status() -> Dict[str, Any]:
|
|
| 207 |
return payload
|
| 208 |
|
| 209 |
|
| 210 |
-
def
|
| 211 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 212 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 213 |
prefixes = [f"/api/{ns}/v1/lyte", "/v1/lyte"]
|
|
|
|
| 214 |
routes: List[str] = []
|
| 215 |
try:
|
| 216 |
from starlette.routing import Route
|
| 217 |
-
|
| 218 |
-
def
|
| 219 |
-
|
| 220 |
-
|
| 221 |
-
def _status(_r=None):
|
| 222 |
-
return JSONResponse(status())
|
| 223 |
-
|
| 224 |
for p in prefixes:
|
| 225 |
app.router.routes.insert(0, Route(f"{p}/healthz", _health, methods=["GET"]))
|
| 226 |
app.router.routes.insert(0, Route(f"{p}/status", _status, methods=["GET"]))
|
| 227 |
routes.extend([f"{p}/healthz", f"{p}/status"])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 228 |
except Exception:
|
| 229 |
-
async def _h_health():
|
| 230 |
-
|
| 231 |
-
|
| 232 |
-
async def
|
| 233 |
-
return JSONResponse(status())
|
| 234 |
-
|
| 235 |
for p in prefixes:
|
| 236 |
app.add_api_route(f"{p}/healthz", _h_health, methods=["GET"], include_in_schema=True)
|
| 237 |
app.add_api_route(f"{p}/status", _h_status, methods=["GET"], include_in_schema=True)
|
| 238 |
routes.extend([f"{p}/healthz", f"{p}/status"])
|
| 239 |
-
|
| 240 |
-
|
| 241 |
-
|
| 242 |
-
|
| 243 |
-
|
| 244 |
-
|
|
|
|
| 245 |
return {"ok": True, "ns": ns, "organ": _ORGAN_NAME, "bind": _BIND, "certified": False, "routes": routes}
|
| 246 |
|
| 247 |
|
|
@@ -250,30 +329,13 @@ def _selftest() -> Dict[str, Any]:
|
|
| 250 |
s = status()
|
| 251 |
assert h["ok"] is True and h["certified"] is False and h["hub_running"] is False
|
| 252 |
assert s["state"] == "BIND"
|
| 253 |
-
assert s["honesty"]["certified"] is False
|
| 254 |
-
assert s["honesty"]["proven_trust"] is False
|
| 255 |
-
assert s["honesty"]["lyte"] == "STRUCTURAL-ONLY"
|
| 256 |
-
assert "UNAVAILABLE" in s["honesty"]["energy_joule"]
|
| 257 |
-
assert s["honesty"]["occupancy"].startswith("UNAVAILABLE")
|
| 258 |
-
assert s["hub"]["running"] is False
|
| 259 |
-
assert s["hub"]["state"] == "UNAVAILABLE"
|
| 260 |
assert s["source"]["sha"] == _SOURCE_SHA
|
| 261 |
assert len(s["frontiers"]) == 28
|
| 262 |
-
assert s["frontiers"][0]["honesty"] == "STRUCTURAL-ONLY"
|
| 263 |
-
assert s["frontiers"][-1]["n"] == "N27"
|
| 264 |
assert len(s["waves"]) == 3
|
| 265 |
-
|
| 266 |
-
assert "
|
| 267 |
-
assert
|
| 268 |
-
|
| 269 |
-
assert s["khipu_receipt"].get("signed") is False or s["khipu_receipt"]["kind"] in (
|
| 270 |
-
"UNSIGNED-honest",
|
| 271 |
-
"HASH-LINKED",
|
| 272 |
-
)
|
| 273 |
-
assert s["state"] != "LIVE"
|
| 274 |
-
assert s["state"] != "RUNNING"
|
| 275 |
-
_ = served
|
| 276 |
-
return {"ok": True, "state": s["state"], "sha": s["source"]["sha"], "frontiers": len(s["frontiers"])}
|
| 277 |
|
| 278 |
|
| 279 |
if __name__ == "__main__":
|
|
|
|
| 6 |
|
| 7 |
Cites szl-holdings/lyte-lattice @ 9db7f25. Not a second flagship.
|
| 8 |
Not a production certificate of a-11-oy.com.
|
| 9 |
+
Also serves GET /unify flock ledger (KEEP/FOLD/UNIFY). Not a Hub Space.
|
| 10 |
"""
|
| 11 |
from __future__ import annotations
|
| 12 |
|
|
|
|
| 67 |
{"id": "W3", "name": "Plane edge", "cells": ["N19", "N20", "N21", "N22", "N23", "N24", "N25", "N26", "N27"], "admitted": 8, "blocked": 1},
|
| 68 |
]
|
| 69 |
|
| 70 |
+
_FLOCK_KEEP = [
|
| 71 |
+
{"slug": "a11oy", "dest": "https://a-11-oy.com/console", "why": "Command Center. One front door."},
|
| 72 |
+
{"slug": "killinchu", "dest": "https://szlholdings-killinchu.hf.space/elite", "why": "Counter-UAS."},
|
| 73 |
+
{"slug": "immune", "dest": "https://a-11-oy.com/immune", "why": "SENTRA / YAWAR. Fold lattice here."},
|
| 74 |
+
{"slug": "lyte", "dest": "https://a-11-oy.com/lyte", "why": "Admitted observability cell."},
|
| 75 |
+
{"slug": "vertical-services", "dest": "https://a-11-oy.com/spaces", "why": "Five engines, one runtime."},
|
| 76 |
+
]
|
| 77 |
+
_FLOCK_FOLD = [
|
| 78 |
+
{"slug": "immune-lattice", "into": "immune"},
|
| 79 |
+
{"slug": "counsel", "into": "ayllu"},
|
| 80 |
+
{"slug": "ayllu", "into": "https://a11oy.net/ayllu/"},
|
| 81 |
+
{"slug": "sentra", "into": "vertical-services"},
|
| 82 |
+
{"slug": "finance", "into": "vertical-services"},
|
| 83 |
+
{"slug": "terra", "into": "vertical-services"},
|
| 84 |
+
{"slug": "david-leads", "into": "https://a-11-oy.com"},
|
| 85 |
+
]
|
| 86 |
+
_FLOCK_UNIFY = [
|
| 87 |
+
{"slug": "szl-command-lab", "into": "a11oy"},
|
| 88 |
+
{"slug": "szl-model-inference-lab", "into": "a11oy"},
|
| 89 |
+
{"slug": "szl-frontier", "into": "a11oy"},
|
| 90 |
+
{"slug": "szl-constellation", "into": "a11oy"},
|
| 91 |
+
]
|
| 92 |
+
|
| 93 |
|
| 94 |
def _unsigned_receipt(payload: Dict[str, Any]) -> Dict[str, Any]:
|
| 95 |
blob = json.dumps(payload, sort_keys=True, separators=(",", ":")).encode("utf-8")
|
|
|
|
| 110 |
def _khipu_receipt(payload: Dict[str, Any]) -> Optional[Dict[str, Any]]:
|
| 111 |
try:
|
| 112 |
import szl_khipu # type: ignore
|
|
|
|
| 113 |
dag = szl_khipu.get_dag(_KHIPU_ORGAN, ns="a11oy")
|
| 114 |
r = dag.emit("lyte-lattice.status", payload)
|
| 115 |
signed = bool(r.get("signature"))
|
|
|
|
| 230 |
return payload
|
| 231 |
|
| 232 |
|
| 233 |
+
def unify_status() -> Dict[str, Any]:
|
| 234 |
+
payload: Dict[str, Any] = {
|
| 235 |
+
"ok": True,
|
| 236 |
+
"service": "unify-flock",
|
| 237 |
+
"state": "BIND",
|
| 238 |
+
"bind": _BIND,
|
| 239 |
+
"certified": False,
|
| 240 |
+
"proven_trust": False,
|
| 241 |
+
"hub_write": False,
|
| 242 |
+
"source": {"repo": _SOURCE, "sha": _SOURCE_SHA},
|
| 243 |
+
"product": {"url": "https://a-11-oy.com/unify", "certified": False},
|
| 244 |
+
"keep": _FLOCK_KEEP,
|
| 245 |
+
"fold": _FLOCK_FOLD,
|
| 246 |
+
"unify_stragglers": _FLOCK_UNIFY,
|
| 247 |
+
"policy": "pause+private, never delete",
|
| 248 |
+
"exact_name_duplicates": [],
|
| 249 |
+
"lambda": "Conjecture 1",
|
| 250 |
+
"note": "Flock ledger on the product. Not a new Hub Space.",
|
| 251 |
+
}
|
| 252 |
+
blob = json.dumps(payload, sort_keys=True, separators=(",", ":")).encode()
|
| 253 |
+
payload["digest"] = hashlib.sha256(blob).hexdigest()
|
| 254 |
+
payload["signer"] = "UNSIGNED-honest"
|
| 255 |
+
return payload
|
| 256 |
|
| 257 |
+
|
| 258 |
+
def unify_page() -> str:
|
| 259 |
+
s = unify_status()
|
| 260 |
+
def _rows(items, act, dest_key):
|
| 261 |
+
return "".join(f"<tr><td>{r['slug']}</td><td>{act}</td><td>{r[dest_key]}</td></tr>" for r in items)
|
| 262 |
+
return (
|
| 263 |
+
"<!DOCTYPE html><html lang='en'><head><meta charset='utf-8'/>"
|
| 264 |
+
"<meta name='viewport' content='width=device-width, initial-scale=1'/>"
|
| 265 |
+
"<title>Unify flock · SZL Holdings</title>"
|
| 266 |
+
"<style>body{margin:0;background:#0a0a0a;color:#f5f5f5;font-family:ui-sans-serif,system-ui,sans-serif}"
|
| 267 |
+
"a{color:#5fb3a3}.wrap{max-width:960px;margin:0 auto;padding:1.4rem}"
|
| 268 |
+
"table{width:100%;border-collapse:collapse;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}"
|
| 269 |
+
"th,td{text-align:left;padding:.35rem .4rem;border-bottom:1px solid rgba(201,183,135,.15);color:#9a9a9a}"
|
| 270 |
+
"th{color:#c9b787;font-size:10px;letter-spacing:.06em;text-transform:uppercase}"
|
| 271 |
+
".lede{color:#9a9a9a;max-width:72ch;line-height:1.55}</style></head><body><div class='wrap'>"
|
| 272 |
+
f"<p>BIND · not certified · digest {s['digest'][:16]}</p>"
|
| 273 |
+
"<h1>Unify flock</h1>"
|
| 274 |
+
"<p class='lede'><b>Product tab on a-11-oy.com.</b> GitHub is source. Hub is the registry. "
|
| 275 |
+
"a11oy.net is RECORD. Never LIVE/RUNNING/PASS. pause+private, never delete.</p>"
|
| 276 |
+
"<p class='lede'>Nav: <a href='/lyte'>/lyte</a> · <a href='/spaces'>/spaces</a> · <a href='/console'>/console</a></p>"
|
| 277 |
+
"<h2>KEEP</h2><table><thead><tr><th>slug</th><th>act</th><th>dest</th></tr></thead><tbody>"
|
| 278 |
+
+ _rows(_FLOCK_KEEP, "KEEP", "dest")
|
| 279 |
+
+ "</tbody></table><h2>FOLD</h2><table><thead><tr><th>slug</th><th>act</th><th>into</th></tr></thead><tbody>"
|
| 280 |
+
+ _rows(_FLOCK_FOLD, "FOLD", "into")
|
| 281 |
+
+ "</tbody></table><h2>UNIFY stragglers</h2><table><thead><tr><th>slug</th><th>act</th><th>into</th></tr></thead><tbody>"
|
| 282 |
+
+ _rows(_FLOCK_UNIFY, "UNIFY", "into")
|
| 283 |
+
+ "</tbody></table><p class='lede'>Λ = Conjecture 1 · Doctrine v11 · Never a11oy.com</p></div></body></html>"
|
| 284 |
+
)
|
| 285 |
+
|
| 286 |
+
|
| 287 |
+
def register(app, ns: str = "a11oy") -> Dict[str, Any]:
|
| 288 |
+
from fastapi.responses import HTMLResponse, JSONResponse
|
| 289 |
prefixes = [f"/api/{ns}/v1/lyte", "/v1/lyte"]
|
| 290 |
+
unify_prefixes = [f"/api/{ns}/v1/unify", "/v1/unify"]
|
| 291 |
routes: List[str] = []
|
| 292 |
try:
|
| 293 |
from starlette.routing import Route
|
| 294 |
+
def _health(_r=None): return JSONResponse(healthz())
|
| 295 |
+
def _status(_r=None): return JSONResponse(status())
|
| 296 |
+
def _unify_api(_r=None): return JSONResponse(unify_status())
|
| 297 |
+
def _unify_page(_r=None): return HTMLResponse(unify_page())
|
|
|
|
|
|
|
|
|
|
| 298 |
for p in prefixes:
|
| 299 |
app.router.routes.insert(0, Route(f"{p}/healthz", _health, methods=["GET"]))
|
| 300 |
app.router.routes.insert(0, Route(f"{p}/status", _status, methods=["GET"]))
|
| 301 |
routes.extend([f"{p}/healthz", f"{p}/status"])
|
| 302 |
+
for p in unify_prefixes:
|
| 303 |
+
app.router.routes.insert(0, Route(f"{p}/status", _unify_api, methods=["GET"]))
|
| 304 |
+
routes.append(f"{p}/status")
|
| 305 |
+
for path in ("/unify", f"/{ns}/unify"):
|
| 306 |
+
app.router.routes.insert(0, Route(path, _unify_page, methods=["GET", "HEAD"]))
|
| 307 |
+
routes.append(path)
|
| 308 |
except Exception:
|
| 309 |
+
async def _h_health(): return JSONResponse(healthz())
|
| 310 |
+
async def _h_status(): return JSONResponse(status())
|
| 311 |
+
async def _h_unify_api(): return JSONResponse(unify_status())
|
| 312 |
+
async def _h_unify_page(): return HTMLResponse(unify_page())
|
|
|
|
|
|
|
| 313 |
for p in prefixes:
|
| 314 |
app.add_api_route(f"{p}/healthz", _h_health, methods=["GET"], include_in_schema=True)
|
| 315 |
app.add_api_route(f"{p}/status", _h_status, methods=["GET"], include_in_schema=True)
|
| 316 |
routes.extend([f"{p}/healthz", f"{p}/status"])
|
| 317 |
+
for p in unify_prefixes:
|
| 318 |
+
app.add_api_route(f"{p}/status", _h_unify_api, methods=["GET"], include_in_schema=True)
|
| 319 |
+
routes.append(f"{p}/status")
|
| 320 |
+
for path in ("/unify", f"/{ns}/unify"):
|
| 321 |
+
app.add_api_route(path, _h_unify_page, methods=["GET", "HEAD"], include_in_schema=False)
|
| 322 |
+
routes.append(path)
|
| 323 |
+
print(f"[{ns}] szl_lyte_lattice routes registered (BIND + unify flock, {len(routes)} routes)", flush=True)
|
| 324 |
return {"ok": True, "ns": ns, "organ": _ORGAN_NAME, "bind": _BIND, "certified": False, "routes": routes}
|
| 325 |
|
| 326 |
|
|
|
|
| 329 |
s = status()
|
| 330 |
assert h["ok"] is True and h["certified"] is False and h["hub_running"] is False
|
| 331 |
assert s["state"] == "BIND"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 332 |
assert s["source"]["sha"] == _SOURCE_SHA
|
| 333 |
assert len(s["frontiers"]) == 28
|
|
|
|
|
|
|
| 334 |
assert len(s["waves"]) == 3
|
| 335 |
+
u = unify_status()
|
| 336 |
+
assert u["state"] == "BIND" and u["hub_write"] is False
|
| 337 |
+
assert len(u["keep"]) == 5 and len(u["unify_stragglers"]) == 4
|
| 338 |
+
return {"ok": True, "state": s["state"], "sha": s["source"]["sha"], "frontiers": 28, "unify": "BIND"}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 339 |
|
| 340 |
|
| 341 |
if __name__ == "__main__":
|