RFTSystems commited on
Commit
9f707ae
·
verified ·
1 Parent(s): 6967f67

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +50 -3
app.py CHANGED
@@ -38,11 +38,43 @@ WHY = (
38
  "When an agent fails, too many postmortems still rely on screenshots, partial logs, and opinions — not evidence.\n\n"
39
  "The operational risk is not only that an agent does the wrong thing. The deeper risk is that **nobody can prove what happened**: "
40
  "what the agent saw, what it called, what it wrote, and where the run diverged. When failures are unreproducible, accountability collapses.\n\n"
41
- "RFTSystems exists to make agent behaviour **inspectable and independently verifiable**. This suite produces artifacts you can share and validate: "
42
  "hash-chained timelines, tamper-evident receipts, deterministic replays, and first-divergence diffs. You don’t need to trust the author — you can verify the evidence.\n\n"
43
  "I can’t promise “AI will never take over.” No one can. What I *can* promise is this: **with chain-of-custody logs and receipts, we can prove what happened and who is responsible.**"
44
  )
45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  LICENSE_NOTICE = """All materials contained in or associated with this repository — including but not limited to text, code, algorithms, equations, figures, datasets, and documentation — are original works authored by Liam Grinstead and form part of the Rendered Frame Theory (RFT) research framework.
47
 
48
  These works are protected under the following laws and treaties:
@@ -104,9 +136,24 @@ def _build_markdown() -> str:
104
  return "\n".join(md)
105
 
106
 
 
 
 
 
 
 
107
  with gr.Blocks(title="RFTSystems — Agent Forensics Suite") as demo:
108
- gr.Markdown(_build_markdown())
 
 
 
 
 
 
 
 
 
109
  with gr.Accordion("Licence / Rights Notice (click to expand)", open=False):
110
  gr.Markdown(LICENSE_NOTICE)
111
 
112
- demo.launch()
 
38
  "When an agent fails, too many postmortems still rely on screenshots, partial logs, and opinions — not evidence.\n\n"
39
  "The operational risk is not only that an agent does the wrong thing. The deeper risk is that **nobody can prove what happened**: "
40
  "what the agent saw, what it called, what it wrote, and where the run diverged. When failures are unreproducible, accountability collapses.\n\n"
41
+ "RFTSystems exists to make agent behaviour **inspectable and independently verifiable**. This suite produces evidence bundles you can share and validate: "
42
  "hash-chained timelines, tamper-evident receipts, deterministic replays, and first-divergence diffs. You don’t need to trust the author — you can verify the evidence.\n\n"
43
  "I can’t promise “AI will never take over.” No one can. What I *can* promise is this: **with chain-of-custody logs and receipts, we can prove what happened and who is responsible.**"
44
  )
45
 
46
+ WHY_VERIFICATION_DOC = (
47
+ "# Why verification matters (the risks, plainly)\n\n"
48
+ "AI is being built and deployed at a pace that is now outstripping accountability. That mismatch is where harm happens.\n\n"
49
+ "The problem isn’t that agents make mistakes. Mistakes are inevitable. The unacceptable part is what usually follows:\n\n"
50
+ "- “We can’t reproduce it.”\n"
51
+ "- “We’re not sure which prompt/tool/model version caused it.”\n"
52
+ "- “We changed a few things and it seems better now.”\n"
53
+ "- “Trust us.”\n\n"
54
+ "That is not engineering. That is damage control.\n\n"
55
+ "Recent “nearly-Grok” style incidents are the warning flare: capabilities shipped fast, edge cases exploited, then a scramble to patch. "
56
+ "And once it’s patched, the public can’t prove what was true yesterday. That’s the accountability gap.\n\n"
57
+ "## What must be provable (every time)\n\n"
58
+ "If you’re shipping agents that browse, call tools, write files, automate actions, or influence real users, you need to be able to prove:\n\n"
59
+ "1) **WHEN** it happened (a verifiable timeline)\n"
60
+ "2) **WHAT** happened (inputs → decisions → tool calls → outputs)\n"
61
+ "3) **WHY** it happened (the exact chain of state transitions)\n"
62
+ "4) **HOW** to stop it happening again (what changed, and proof that the change works)\n\n"
63
+ "If you cannot answer those with evidence, you do not have a safe system — you have a black box.\n\n"
64
+ "## Why this collection exists\n\n"
65
+ "This suite exists to end the “unanswered for” failure mode.\n\n"
66
+ "It turns agent runs into **evidence you can verify independently**:\n\n"
67
+ "- deterministic replays (so anyone can reproduce behaviour)\n"
68
+ "- chain-of-custody logging (so the record can’t be quietly rewritten)\n"
69
+ "- tamper-evident receipts (so integrity can be proven)\n"
70
+ "- first-divergence diffs (so you can pinpoint exactly where and why two runs split)\n"
71
+ "- audit views (so governance becomes evidence-led, not opinion-led)\n\n"
72
+ "### Bottom line\n\n"
73
+ "**If you can’t replay it, you don’t understand it. If you can’t prove it, you can’t govern it.**\n\n"
74
+ "Collection:\n"
75
+ "https://huggingface.co/collections/RFTSystems/rftsystems-agent-forensics-suite\n"
76
+ )
77
+
78
  LICENSE_NOTICE = """All materials contained in or associated with this repository — including but not limited to text, code, algorithms, equations, figures, datasets, and documentation — are original works authored by Liam Grinstead and form part of the Rendered Frame Theory (RFT) research framework.
79
 
80
  These works are protected under the following laws and treaties:
 
136
  return "\n".join(md)
137
 
138
 
139
+ def render_doc(which: str) -> str:
140
+ if which == "Why verification matters":
141
+ return WHY_VERIFICATION_DOC
142
+ return _build_markdown()
143
+
144
+
145
  with gr.Blocks(title="RFTSystems — Agent Forensics Suite") as demo:
146
+ doc = gr.Dropdown(
147
+ choices=["Start Here", "Why verification matters"],
148
+ value="Start Here",
149
+ label="Pages",
150
+ )
151
+
152
+ main = gr.Markdown(render_doc("Start Here"))
153
+
154
+ doc.change(fn=render_doc, inputs=doc, outputs=main)
155
+
156
  with gr.Accordion("Licence / Rights Notice (click to expand)", open=False):
157
  gr.Markdown(LICENSE_NOTICE)
158
 
159
+ demo.launch()