Skip to content

Commit dc98f22

Browse files
committed
Translate repository documentation to English
1 parent b3313ca commit dc98f22

13 files changed

Lines changed: 399 additions & 459 deletions

File tree

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,24 @@
11
name: Bug
2-
description: Segnala un errore riproducibile nel prototipo
2+
description: Report a reproducible error in the prototype
33
title: "[Bug]: "
44
labels: [bug]
55
body:
66
- type: textarea
77
id: observed
88
attributes:
9-
label: Comportamento osservato
9+
label: Observed behavior
1010
validations:
1111
required: true
1212
- type: textarea
1313
id: expected
1414
attributes:
15-
label: Comportamento atteso
15+
label: Expected behavior
1616
validations:
1717
required: true
1818
- type: textarea
1919
id: reproduction
2020
attributes:
21-
label: Riproduzione minima
22-
description: Usa dati pubblici o sintetici e non includere credenziali.
21+
label: Minimal reproduction
22+
description: Use public or synthetic data and do not include credentials.
2323
validations:
2424
required: true
25-

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
blank_issues_enabled: false
22
contact_links:
3-
- name: Vulnerabilità
3+
- name: Security vulnerability
44
url: https://github.com/sudoantonio/welfaregraph/security/advisories/new
5-
about: Usa una segnalazione privata per problemi di sicurezza.
5+
about: Use a private report for security issues.
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
1-
name: Sviluppo metodologico
2-
description: Propone un'estensione di algoritmo, questionario o valutazione
1+
name: Methodological development
2+
description: Propose an extension to an algorithm, questionnaire, or evaluation
33
title: "[Research]: "
44
labels: [enhancement]
55
body:
66
- type: textarea
77
id: question
88
attributes:
9-
label: Domanda di ricerca o esigenza
9+
label: Research question or need
1010
validations:
1111
required: true
1212
- type: textarea
1313
id: method
1414
attributes:
15-
label: Metodo proposto
15+
label: Proposed method
1616
validations:
1717
required: true
1818
- type: textarea
1919
id: validation
2020
attributes:
21-
label: Criteri di validazione
21+
label: Validation criteria
2222
validations:
2323
required: true
2424
- type: textarea
2525
id: risks
2626
attributes:
27-
label: Limiti, dati e supervisione umana
27+
label: Limitations, data, and human oversight
2828
validations:
2929
required: false

CONTRIBUTING.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
# Contribuire
1+
# Contributing
22

3-
1. Aprire una issue con il problema, l'artefatto coinvolto e il risultato atteso.
4-
2. Usare soltanto dati pubblici o campioni sintetici; non aggiungere dati personali.
5-
3. Accompagnare le modifiche agli algoritmi con test deterministici.
6-
4. Eseguire `pytest` prima di proporre la modifica.
7-
5. Documentare ogni modifica a questionari, prompt, fallback o criteri di associazione.
8-
9-
Le modifiche metodologiche devono distinguere chiaramente comportamento implementato, ipotesi e sviluppo futuro.
3+
1. Open an issue describing the problem, the affected artifact, and the expected result.
4+
2. Use only public data or synthetic samples; do not add personal data.
5+
3. Accompany algorithm changes with deterministic tests.
6+
4. Run `pytest` before proposing a change.
7+
5. Document every change to questionnaires, prompts, fallbacks, or association criteria.
108

9+
Methodological changes must clearly distinguish implemented behavior, assumptions, and future work.

README.md

Lines changed: 94 additions & 94 deletions
Large diffs are not rendered by default.

SECURITY.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
# Sicurezza
1+
# Security
22

3-
Il progetto è un prototipo di ricerca. Segnalare vulnerabilità tramite una security advisory privata di GitHub, senza includere credenziali, documenti riservati o dati personali.
4-
5-
Prima di un uso operativo sono necessari almeno: isolamento dei parser, scansione degli allegati, controllo degli URL, autenticazione, autorizzazioni per ruolo, gestione sicura dei segreti, limiti di richiesta, audit e politiche di conservazione.
3+
This project is a research prototype. Report vulnerabilities through a private GitHub security advisory, without including credentials, confidential documents, or personal data.
64

5+
Operational use requires, at minimum: parser isolation, attachment scanning, URL validation, authentication, role-based authorization, secure secret management, request limits, audit logging, and retention policies.

data/corpus/README.md

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
1-
# Corpus D1
1+
# D1 corpus
22

3-
Questa directory contiene 219 rappresentazioni testuali di bandi, avvisi e procedure raccolti da portali pubblici durante la sperimentazione della tesi.
3+
This directory contains 219 textual representations of calls, notices, and procedures collected from public portals during the thesis experiment.
44

5-
## Uso previsto
5+
## Intended use
66

7-
- riprodurre la costruzione del grafo D1;
8-
- calcolare e confrontare firme operative;
9-
- sviluppare test di classificazione ed estrazione;
10-
- costruire in futuro un sottoinsieme annotato da esperti.
7+
- reproduce construction of the D1 graph;
8+
- compute and compare operational signatures;
9+
- develop classification and extraction tests;
10+
- build a future expert-annotated subset.
1111

12-
## Avvertenze
12+
## Cautions
1313

14-
- I nomi dei file derivano dalle fonti e non costituiscono una tassonomia validata.
15-
- Il contenuto può essere obsoleto, incompleto o sostituito da versioni successive.
16-
- Per qualunque decisione amministrativa occorre consultare il portale e il documento ufficiale vigente.
17-
- La licenza del codice non modifica i diritti applicabili ai documenti di terzi.
18-
- Il corpus non contiene intenzionalmente dati individuali di beneficiari.
19-
20-
Gli stati di acquisizione e gli URL delle fonti sono conservati in `tools/scraper/state/`.
14+
- Filenames come from the sources and do not constitute a validated taxonomy.
15+
- Content may be outdated, incomplete, or superseded by later versions.
16+
- Consult the current official portal and document before making any administrative decision.
17+
- The code license does not alter rights applicable to third-party documents.
18+
- The corpus intentionally contains no individual beneficiary data.
2119

20+
Acquisition states and source URLs are stored in `tools/scraper/state/`.

data/mini/README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# Corpus minimo
1+
# Minimal corpus
22

3-
Quattro esempi ridotti per prove rapide della pipeline:
3+
Four reduced examples for quick pipeline tests:
44

5-
- microimpresa turistica;
6-
- PMI manifatturiera;
7-
- ente del Terzo Settore sociale;
8-
- cooperativa agricola.
5+
- tourism microenterprise;
6+
- manufacturing SME;
7+
- social third-sector entity;
8+
- agricultural cooperative.
99

10-
Questi campioni sono adatti allo sviluppo e non sostituiscono il corpus sperimentale completo.
10+
These samples support development and do not replace the complete experimental corpus.

docs/ARCHITECTURE.md

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,58 @@
1-
# Architettura
1+
# Architecture
22

3-
## Componenti reali
3+
## Implemented components
44

5-
### Raccolta documentale
5+
### Document collection
66

7-
`tools/scraper/` contiene i parser per:
7+
`tools/scraper/` contains parsers for:
88

9-
- Ambito Territoriale di Mesagne, basato su WordPress;
10-
- Sistema Puglia, basato su Oracle APEX;
11-
- portale incentivi MIMIT;
12-
- catalogo bandi della Regione Puglia.
9+
- the Mesagne Territorial Area WordPress portal;
10+
- the Oracle APEX-based Sistema Puglia portal;
11+
- the MIMIT incentives portal;
12+
- the Regione Puglia call catalog.
1313

14-
Lo scraper mantiene stato incrementale per fonte, limita i PDF a 50 MB, controlla il tipo di contenuto e separa download, selezione del documento ed estrazione testuale.
14+
The scraper maintains incremental state for each source, limits PDFs to 50 MB, validates content types, and separates downloading, document selection, and text extraction.
1515

16-
### Modello e runtime DS4
16+
### Model and DS4 runtime
1717

18-
Il prototipo usa DeepSeek V4 Flash servito localmente tramite [DS4 / DwarfStar](https://github.com/antirez/ds4), sviluppato da Salvatore Sanfilippo. Il confine applicativo è un endpoint OpenAI-compatible configurabile tramite variabili d'ambiente. DS4 è il runtime di inferenza; DeepSeek V4 Flash è il modello utilizzato.
18+
The prototype uses DeepSeek V4 Flash served locally through [DS4 / DwarfStar](https://github.com/antirez/ds4), developed by Salvatore Sanfilippo. The application boundary is an OpenAI-compatible endpoint configured through environment variables. DS4 is the inference runtime; DeepSeek V4 Flash is the model.
1919

20-
### Dominio D1 e grafo G1
20+
### D1 domain and G1 graph
2121

22-
Il questionario D1 definisce domande, risposte, metadata e grafo iniziale. Il loader valida unicità degli identificatori, coerenza domanda-risposta, radici e archi. `build_g1` estende il grafo quando due campioni non sono ancora distinguibili, preservando aciclicità e assenza di domande ripetute sul percorso.
22+
The D1 questionnaire defines questions, answers, metadata, and the initial graph. The loader validates identifier uniqueness, question-answer consistency, roots, and edges. `build_g1` extends the graph when two samples are not yet distinguishable, while preserving acyclicity and preventing repeated questions along a path.
2323

24-
### Inferenza sul bando
24+
### Call inference
2525

26-
`infer_g1` percorre il grafo per un documento e produce una `OperationalQASignature`. La firma include le coppie operative raggiunte e consente di confrontare o differenziare i bandi.
26+
`infer_g1` traverses the graph for one document and produces an `OperationalQASignature`. The signature contains the operational pairs reached and supports call comparison and differentiation.
2727

28-
### Induzione trans-dominio
28+
### Cross-domain induction
2929

30-
`build_induction_objects` e `associate_legal_subject` predispongono a livello prototipale domande D2, insiemi minimi di premesse e inferenza guidata verso G1. La sperimentazione non ha però completato il questionario semplificato degli enti né validato queste componenti su profili organizzativi reali.
30+
`build_induction_objects` and `associate_legal_subject` provide prototype D2 questions, minimal premise sets, and guided inference toward G1. The experiment has not yet completed the simplified entity questionnaire or validated these components on real organizational profiles.
3131

32-
### Persistenza
32+
### Persistence
3333

34-
`persistence.py` serializza domini, grafi, firme, sistemi di induzione e sessioni in JSON. La CLI usa checkpoint per riprendere elaborazioni lunghe senza ricominciare da zero.
34+
`persistence.py` serializes domains, graphs, signatures, induction systems, and sessions as JSON. The CLI uses checkpoints to resume long-running processes without starting over.
3535

36-
## Corrispondenza Lean-Python
36+
## Lean-Python mapping
3737

38-
| Specifica | Python |
38+
| Specification | Python |
3939
|---|---|
4040
| `SemanticDomain` | `domain.SemanticDomain` |
4141
| `QA` | `types.QA` |
4242
| `OperationalGraph` | `types.OperationalGraph` |
4343
| `OperationalQASignature` | `FrozenSet[OperationalQA]` |
4444
| `TransDomainRule` | `types.TransDomainRule` |
4545
| `TargetInductionObject` | `types.TargetInductionObject` |
46-
| costruzione G1 | `algorithms.build_g1` |
47-
| inferenza G1 | `algorithms.infer_g1` |
48-
| oggetti di induzione | `algorithms.build_induction_objects` |
49-
| inferenza guidata | `algorithms.associate_legal_subject` |
50-
51-
## Confini di affidabilità
52-
53-
- I documenti e le pagine web sono input non attendibili.
54-
- L'output LLM viene validato strutturalmente e ritentato, ma resta fallibile.
55-
- Alcuni errori del modello attivano fallback deterministici; i log devono renderli visibili.
56-
- Il risultato è compatibilità semantica rispetto alla configurazione, non ammissibilità giuridica.
57-
- Gli artefatti empirici disponibili riguardano D1; D2 e ranking restano una fase successiva.
58-
- Il prototipo non tratta dati individuali dei beneficiari.
46+
| G1 construction | `algorithms.build_g1` |
47+
| G1 inference | `algorithms.infer_g1` |
48+
| induction objects | `algorithms.build_induction_objects` |
49+
| guided inference | `algorithms.associate_legal_subject` |
50+
51+
## Trust boundaries
52+
53+
- Documents and web pages are untrusted inputs.
54+
- LLM output is structurally validated and retried, but remains fallible.
55+
- Some model errors trigger deterministic fallbacks; logs must make them visible.
56+
- The result expresses semantic compatibility under the configured rules, not legal eligibility.
57+
- Available empirical artifacts cover D1; D2 and ranking remain future work.
58+
- The prototype does not process individual beneficiary data.

0 commit comments

Comments
 (0)