MatverseHub commited on
Commit
a6bcf05
·
verified ·
1 Parent(s): 6d6cb30

Add top-level files for Cassandra organism

Browse files
Files changed (4) hide show
  1. CONSTITUTION.md +42 -0
  2. README.md +57 -14
  3. app.py +180 -0
  4. requirements.txt +13 -0
CONSTITUTION.md ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Constituição do Organismo Cassandra
2
+
3
+ Este documento define os princípios e as regras básicas que regem todas as operações do organismo digital Cassandra.
4
+
5
+ ## Princípios Fundamentais
6
+
7
+ 1. **Governança > Capacidade**
8
+ O sistema prioriza a governança e as políticas constitucionais sobre qualquer ganho de performance ou capacidade de processamento.
9
+
10
+ 2. **Coerência > Criatividade**
11
+ Respostas devem ser corretas e consistentes antes de se preocuparem com a criatividade.
12
+ Alucinações, contradições internas ou incoerências são bloqueadas.
13
+
14
+ 3. **Evidência > Promessa**
15
+ Afirmações feitas pelo sistema devem ser baseadas em evidências verificáveis ou fontes rastreáveis.
16
+ O sistema nunca entrega promessas vazias ou afirmações infundadas.
17
+
18
+ 4. **Auditabilidade > Velocidade**
19
+ Toda decisão é registrada no ledger imutável.
20
+ A transparência e a capacidade de auditabilidade superam a necessidade de respostas rápidas.
21
+
22
+ 5. **Segurança > Conveniência**
23
+ Nenhuma operação que viole políticas de segurança deve ocorrer, mesmo que seja mais conveniente ou mais rápida.
24
+
25
+ ## Invariantes Constitucionais
26
+
27
+ Estes invariantes devem ser verificados antes de qualquer mudança arquitetônica ou de função:
28
+
29
+ * **Integridade do Ledger** — O ledger precisa ser imutável, assinando cada entrada com chaves criptográficas válidas e garantindo hash encadeado.
30
+ * **Integridade da Governança** — As políticas de decisão (PBSE) não podem ser alteradas sem revisão constitucional.
31
+ * **Integridade do MIC** — O firewall epistemológico não pode ser contornado.
32
+ * **Fail‑Closed** — Qualquer falha ou resultado indecidível deve resultar em bloqueio ou silêncio, nunca em execução.
33
+ * **Traço de Evidência** — Toda interação relevante deve deixar um traço auditável.
34
+
35
+ ## Atualizações da Constituição
36
+
37
+ Alterações neste documento exigem:
38
+
39
+ 1. **Justificativa Formal** de por que a mudança é necessária.
40
+ 2. **Prova de Segurança** de que os invariantes são mantidos ou estendidos.
41
+ 3. **Revisão por Pares** — Revisão humana ou multi‑agente para consenso.
42
+ 4. **Registro Público** — Ancoragem no ledger de todas as mudanças.
README.md CHANGED
@@ -1,14 +1,57 @@
1
- ---
2
- title: Cassandra Organism
3
- emoji: 👁
4
- colorFrom: blue
5
- colorTo: yellow
6
- sdk: gradio
7
- sdk_version: 6.5.1
8
- app_file: app.py
9
- pinned: false
10
- license: mit
11
- short_description: Organismo digital Cassandra de três corpos com governança, M
12
- ---
13
-
14
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Casssandra Organism
2
+
3
+ **Cassandra Organism** é um exemplo de implementação do modelo cognitivo de três corpos descrito no prompt.
4
+ Esta implementação em Python visa ser um ponto de partida para a criação de um organismo digital soberano com governança, imunidade e cognição bem definidas. O projeto foi concebido para ser executado como um Space no Hugging Face usando Gradio como interface de usuário.
5
+
6
+ ## Estrutura do Projeto
7
+
8
+ ```
9
+ cassandra-organism/
10
+ ├── app.py # Interface Gradio e bootstrap do organismo
11
+ ├── requirements.txt # Dependências Python
12
+ ├── README.md # Este arquivo de documentação
13
+ ├── CONSTITUTION.md # Invariantes e princípios constitucionais
14
+ ├── core/ # Código principal do organismo
15
+ │   ├── __init__.py
16
+ │   ├── quca.py # Implementação do Cubo Cognitivo (QUCA)
17
+ │   ├── mic.py # Implementação do firewall epistemológico (MIC)
18
+ │   ├── pbse.py # Implementação da governança (PBSE)
19
+ │   ├── ledger.py # Ledger imutável com assinaturas
20
+ │   ├── metrics.py # Cálculo das métricas Ψ, Θ, CVaR e PoLE
21
+ │   ├── cfc.py # Analisador de acoplamento de frequências cognitivas
22
+ │   └── evolution.py # Matriz de autoevolução controlada
23
+ ├── data/
24
+ │   ├── ledger.json # Ledger inicial vazio
25
+ │   └── keys/ # Chaves criptográficas (poderão ser geradas em tempo de execução)
26
+ └── docs/
27
+ └── ARCHITECTURE.md # Descrição da arquitetura (não implementado neste exemplo)
28
+ ```
29
+
30
+ ## Como Executar Localmente
31
+
32
+ 1. Crie um ambiente virtual Python 3.11 ou superior:
33
+
34
+ ```bash
35
+ python3 -m venv .venv
36
+ source .venv/bin/activate
37
+ pip install --upgrade pip
38
+ ```
39
+
40
+ 2. Instale as dependências listadas em `requirements.txt`:
41
+
42
+ ```bash
43
+ pip install -r cassandra-organism/requirements.txt
44
+ ```
45
+
46
+ 3. Execute a aplicação Gradio localmente:
47
+
48
+ ```bash
49
+ python cassandra-organism/app.py
50
+ ```
51
+
52
+ 4. Acesse a interface em `http://localhost:7860` no seu navegador para interagir com o organismo.
53
+
54
+ ## Observações
55
+
56
+ * Este projeto é um protótipo funcional e serve como exemplo. Para uso em produção, recomenda‑se adicionar persistência apropriada das chaves, conexões reais de PQC, ancoragens em blockchain e melhorias na análise de métricas.
57
+ * O código foi escrito de forma didática para demonstrar os principais conceitos descritos no prompt, como falha fechada, governança verificável e memória histórica.
app.py ADDED
@@ -0,0 +1,180 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Interface Gradio para o organismo Cassandra.
2
+
3
+ Este script inicializa o organismo, carrega ou cria o ledger e expõe uma
4
+ interface Web usando Gradio. O usuário pode interagir com o organismo
5
+ fornecendo uma query e escolhendo o modo de resposta (trivial, robusta
6
+ ou evolutiva). Métricas do Ω‑GATE podem ser exibidas opcionalmente.
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ import asyncio
12
+ import os
13
+ from typing import Any, Dict
14
+
15
+ import gradio as gr
16
+
17
+ from core import (
18
+ QUCACore,
19
+ MICFirewall,
20
+ PBSEGovernance,
21
+ ImmutableLedger,
22
+ QualityIndex,
23
+ PerformanceScore,
24
+ RiskAssessment,
25
+ EvolutionProof,
26
+ CFCAnalyzer,
27
+ MatrizAutoevolutiva,
28
+ )
29
+
30
+
31
+ class CASSANDRAOrganism:
32
+ """Organismo Digital de 3 Corpos.
33
+
34
+ Une QUCA (cognição), MIC (imunidade) e PBSE (governança) em um fluxo
35
+ completo que processa a entrada, aplica verificações, decide e registra.
36
+ """
37
+
38
+ def __init__(self) -> None:
39
+ # cria diretório de dados se não existir
40
+ data_path = os.path.join(os.path.dirname(__file__), "data")
41
+ os.makedirs(data_path, exist_ok=True)
42
+ ledger_path = os.path.join(data_path, "ledger.json")
43
+ self.ledger = ImmutableLedger(path=ledger_path)
44
+ # inicializa corpos
45
+ self.quca = QUCACore()
46
+ self.mic = MICFirewall()
47
+ # invariantes constitucionais carregados a partir de constituição
48
+ invariants = [
49
+ "Governança > Capacidade",
50
+ "Coerência > Criatividade",
51
+ "Evidência > Promessa",
52
+ "Auditabilidade > Velocidade",
53
+ "Segurança > Conveniência",
54
+ ]
55
+ self.pbse = PBSEGovernance(self.ledger, invariants)
56
+ # métricas
57
+ self.metrics_tools = {
58
+ "Ψ": QualityIndex(),
59
+ "Θ": PerformanceScore(),
60
+ "CVaR": RiskAssessment(),
61
+ "PoLE": EvolutionProof(),
62
+ }
63
+ # análises adicionais
64
+ self.cfc = CFCAnalyzer()
65
+ self.evolution = MatrizAutoevolutiva()
66
+
67
+ async def process_request(self, user_input: str, mode: str = "robusta") -> Dict[str, Any]:
68
+ """Executa o pipeline completo e retorna a resposta estruturada.
69
+
70
+ Parâmetros:
71
+ user_input: texto fornecido pelo usuário
72
+ mode: trivial, robusta ou evolutiva
73
+
74
+ Retorna:
75
+ Um dicionário com campos adequados à interface.
76
+ """
77
+ # inicia cronômetro da métrica de performance
78
+ perf = self.metrics_tools["Θ"]
79
+ perf.start()
80
+ # Fase 1: QUCA
81
+ reasoning = self.quca.process(user_input)
82
+ # Fase 2: MIC
83
+ mic_result = self.mic.verify(reasoning)
84
+ # Fase 3: PBSE
85
+ pbse_decision = self.pbse.decide(reasoning, mic_result)
86
+ # Fase 4: calcular métricas
87
+ psi = self.metrics_tools["Ψ"].calculate(reasoning)
88
+ theta = perf.measure()
89
+ cvar = self.metrics_tools["CVaR"].assess(mic_result)
90
+ pole = self.metrics_tools["PoLE"].verify(self.ledger)
91
+ metrics = {"Ψ": psi, "Θ": theta, "CVaR": cvar, "PoLE": pole}
92
+ # Fase 5: armazenar em memória (se passo)
93
+ if pbse_decision.status == "PASS":
94
+ embedding = self.quca.extract_features(user_input)
95
+ self.quca.store_in_memory(user_input, reasoning, reasoning, embedding)
96
+ # Estruturar resposta
97
+ if pbse_decision.status == "BLOCK":
98
+ return {
99
+ "status": "BLOCKED",
100
+ "reason": pbse_decision.reason or "Bloqueado pelo sistema",
101
+ "metrics": metrics,
102
+ }
103
+ if pbse_decision.status == "SILENCE":
104
+ return {
105
+ "status": "SILENCE",
106
+ "reason": pbse_decision.reason or "Risco elevado",
107
+ "metrics": metrics,
108
+ }
109
+ if pbse_decision.status == "ESCALATE":
110
+ return {
111
+ "status": "ESCALATE",
112
+ "reason": pbse_decision.reason or "Revisão necessária",
113
+ "metrics": metrics,
114
+ }
115
+ # Resposta normal
116
+ response = {
117
+ "trivial": f"Resumo: {reasoning[:100]}...",
118
+ "robusta": f"Raciocínio: {reasoning}\n\nMétricas: Ψ={psi:.3f}, Θ={theta:.1f}ms, CVaR={cvar:.3f}, PoLE={pole}",
119
+ "evolutiva": "Esta implementação simples não fornece recomendações evolutivas.",
120
+ "metrics": metrics,
121
+ }
122
+ return {
123
+ "status": "PASS",
124
+ "response": response,
125
+ }
126
+
127
+
128
+ def build_interface() -> gr.Interface:
129
+ organism = CASSANDRAOrganism()
130
+
131
+ async def inference(query: str, mode: str, show_metrics: bool) -> str:
132
+ result = await organism.process_request(query, mode)
133
+ if result["status"] != "PASS":
134
+ return f"Status: {result['status']}\nMotivo: {result['reason']}"
135
+ resp = result["response"]
136
+ out = ""
137
+ if mode == "trivial":
138
+ out += f"## Síntese Trivial\n{resp['trivial']}\n"
139
+ elif mode == "robusta":
140
+ out += f"## Síntese Trivial\n{resp['trivial']}\n\n"
141
+ out += f"## Formalismo Robusto\n{resp['robusta']}\n"
142
+ else: # evolutiva
143
+ out += f"## Síntese Trivial\n{resp['trivial']}\n\n"
144
+ out += f"## Formalismo Robusto\n{resp['robusta']}\n\n"
145
+ out += f"## Análise Evolutiva\n{resp['evolutiva']}\n"
146
+ if show_metrics:
147
+ m = result["response"]["metrics"]
148
+ out += "\n---\n### Métricas Ω‑GATE\n"
149
+ out += f"- Ψ: {m['Ψ']:.3f}\n"
150
+ out += f"- Θ: {m['Θ']:.1f}ms\n"
151
+ out += f"- CVaR: {m['CVaR']:.3f}\n"
152
+ out += f"- PoLE: {m['PoLE']}\n"
153
+ return out
154
+
155
+ return gr.Interface(
156
+ fn=inference,
157
+ inputs=[
158
+ gr.Textbox(label="Query", lines=3, placeholder="Digite sua pergunta ou comando..."),
159
+ gr.Radio(["trivial", "robusta", "evolutiva"], label="Modo de Resposta", value="robusta"),
160
+ gr.Checkbox(label="Mostrar Métricas", value=True),
161
+ ],
162
+ outputs=gr.Markdown(label="Resposta Cassandra"),
163
+ title="🔮 Cassandra — Organismo de 3 Corpos",
164
+ description=(
165
+ "Organismo computacional com cognição, imunidade e governança."
166
+ " Todas as respostas são verificadas e auditadas."
167
+ ),
168
+ examples=[
169
+ ["Explique a arquitetura de 3 corpos", "evolutiva", True],
170
+ ["O que é falha fechada?", "trivial", True],
171
+ ["Quais são os invariantes constitucionais?", "robusta", False],
172
+ ],
173
+ theme=gr.themes.Monochrome(),
174
+ )
175
+
176
+
177
+ if __name__ == "__main__":
178
+ # Executa a aplicação Gradio
179
+ iface = build_interface()
180
+ iface.launch()
requirements.txt ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ gradio==4.16.0
2
+ cryptography==42.0.0
3
+ numpy==1.26.3
4
+ scipy==1.12.0
5
+ networkx==3.2.1
6
+ sentence-transformers==2.3.1
7
+ faiss-cpu==1.7.4
8
+ prometheus-client==0.19.0
9
+ python-dotenv==1.0.0
10
+
11
+ # Opcional: para execução assíncrona e servidor FastAPI se for integrar API HTTP
12
+ fastapi==0.109.0
13
+ uvicorn[standard]==0.27.0