R1 cleanup: collAnon and dead code gone, docs current, every peer's scenario in one sweep
Build / Build (push) Successful in 1m7s
Build / Build (push) Successful in 1m7s
Starts the completion program (docs/ROADMAP.md, "Owner decisions on finishing everything", 2026-10-17). - Dead code: the commented-out collAnon blocks (discussions, seeding, admin user lists, HTTP/3, the old signature middleware), the empty PrivaPubWorkersConfiguration, PublicAvatarUsersService and UserPolicyType, unused helpers, the second IPasswordHasher registration, the PasswordGenerator package, SignUpAsync/LoginAsync's unused invitation parameters. "Starting PrivaPub"; a signed-in login is sent to "/", not to "/discussions". - Stored fields nothing read: RootUser.Contacts and ResetPasswordToken*, the local Avatar.AvatarServer, EmailRecovery.RecoveryCode/RequestIP/CreationDate, MongoSettings.LogsDatabase, and AppConfiguration's upload/discussion keys, RequiresFirstTimeSetup and Version (old documents still load: MongoDB.Entities ignores extra elements). DmPost's indexes are no longer made. 49 collAnon keys leave FieldsNameResource in every language. - /clientapi/data/current-version answers the build's ref. UsersIds is a list that can't throw, and the admin routes leave the administrator out without mutating the request. - deploy.yml checks SecureMode on a name no persona can have, and the browser redirect on the directory's first local persona: @thepra is the administrator's own now. - Town: decePub's e2e remnants (expect, client.jsonl, the decePub column) and town/tests go; the dead gaps/load commands too. Mobilizon no longer keeps an event for a deleted test. - tools/pasture/sweep.sh runs every peer's scenario, batch by batch, as CLAUDE.md asks before a change to what PrivaPub sends. - Docs: CLAUDE.md's repo map, route table (every frozen route) and stale lines; ROADMAP's status (setup, v1.25.0, v1.26.0, the program C), the 2026-10-17 decisions, and dated notes where earlier text no longer holds; FEDERATION.md's FEP list (7888, f228, 7628, ae0c and 8967 supported) and the deploy's persona. Verified: dotnet build PrivaPub.sln -c Release (0 errors, no new warnings); bash -n on the touched scripts; py_compile on the town; the pasture's gts, mastodon and lemmy scenarios on this build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WpVCoDeM1qUTRp4fXQdfof
This commit is contained in:
1 parent
6727e1817a
commit
ff5e635dda
71 files changed
+238
-4767
No files matched your search
@@ -12,7 +12,7 @@ import gen
|
||||
DIRS = ["in", "out", "via", "control", "local"]
|
||||
DIR_LABEL = {"in": "into PrivaPub", "out": "from PrivaPub", "via": "through PrivaPub", "control": "peer to peer",
|
||||
"local": "on its own server"}
|
||||
GROUPS = [("client", "decePub"), ("deliver", "Delivery"), ("relay", "Replies passed on"), ("confine", "Confinement"),
|
||||
GROUPS = [("deliver", "Delivery"), ("relay", "Replies passed on"), ("confine", "Confinement"),
|
||||
("see", "Seen by the audience"), ("hide", "Hidden from outsiders"), ("count", "Counts"), ("thread", "Threads"),
|
||||
("edit", "Edits"), ("delete", "Deletes"), ("graph", "Follows"), ("privacy", "Privacy")]
|
||||
STATUS_ORDER = ["fail", "xpass", "xfail", "pass"]
|
||||
@@ -84,7 +84,7 @@ def render(result, scenarios, title):
|
||||
cells = result["cells"]
|
||||
totals = Counter(result["totals"])
|
||||
observers = [p for p in gen.HOSTS if any(k.split("|")[2] == p for k in cells)] + \
|
||||
[o for o in ("*", "decepub") if any(k.split("|")[2] == o for k in cells)]
|
||||
[o for o in ("*",) if any(k.split("|")[2] == o for k in cells)]
|
||||
features = sorted({k.split("|")[0] for k in cells})
|
||||
out = [f"<title>{html.escape(title)}</title>",
|
||||
'<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&family=IBM+Plex+Sans:wght@400;600&display=swap">',
|
||||
@@ -169,19 +169,6 @@ def main(args):
|
||||
if os.path.exists(path):
|
||||
with open(path) as f:
|
||||
scenarios = [json.loads(line) for line in f if line.strip()]
|
||||
# a client's cells, when any, join the servers' in the same matrix, under the observer "decepub"
|
||||
client = os.path.join(seed.OUT, "client.jsonl")
|
||||
if os.path.exists(client):
|
||||
import check
|
||||
with open(client) as f:
|
||||
lines = [json.loads(line) for line in f if line.strip()]
|
||||
checks = check.classify(check.latest_client(lines), check.load_gaps())
|
||||
for cell, v in check.summarise(checks).items():
|
||||
result["cells"][cell] = v
|
||||
from collections import Counter
|
||||
totals = Counter(result["totals"])
|
||||
totals.update(Counter(c["status"] for c in checks))
|
||||
result["totals"] = totals
|
||||
page = render(result, scenarios, "PrivaPub Town Matrix")
|
||||
target = os.path.join(run_dir, "report.html")
|
||||
with open(target, "w") as f:
|
||||
|
||||
Reference in new issue
Block a user