Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/reference/usage-tr.md
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ training:

### GPU Maliyet Tahmini

ForgeLM GPU modelinizi otomatik algılar (18 GPU modeli desteklenir) ve eğitim çalışması başına tahmini maliyeti takip eder. Çıktı JSON sonuçlarına, webhook bildirimlerine ve model kartlarına dahil edilir:
ForgeLM GPU modelinizi otomatik algılar (16 GPU modeli desteklenir; bkz. `forgelm.trainer.ForgeTrainer._GPU_PRICING`) ve eğitim çalışması başına tahmini maliyeti takip eder. Çıktı JSON sonuçlarına, webhook bildirimlerine ve model kartlarına dahil edilir:

```
GPU Maliyet Tahmini:
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ training:

### GPU Cost Estimation

ForgeLM auto-detects your GPU model (18 GPU models supported) and tracks estimated cost per training run. Output is included in JSON results, webhook notifications, and model cards:
ForgeLM auto-detects your GPU model (16 GPU models supported per `forgelm.trainer.ForgeTrainer._GPU_PRICING`) and tracks estimated cost per training run. Output is included in JSON results, webhook notifications, and model cards:

```
GPU Cost Estimate:
Expand Down
2 changes: 1 addition & 1 deletion docs/roadmap/phase-10-5-quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

> **Phase ordering rationale:** Reprioritized from Phase 12 to Phase 10.5. Quickstart is the primary community growth driver; stars → enterprise leads → compliance sales. EU AI Act enforcement (August 2, 2026) creates a closing window. This phase must ship before Data Ingestion (Phase 11).

> **Context:** Strategic decision documented in the [enterprise-vs-simple paradox analysis](../marketing/strategy/01-paradoks-enterprise-vs-sade.md): ForgeLM adds a "Layer 0" entry point without changing its CI/CD-native identity. The same YAML schema, the same trainer, the same outputs — just wrapped in pre-built templates and opinionated defaults. Depends on Phase 10 (`chat`) for end-of-training sanity loop.
> **Context:** Strategic decision documented in the internal enterprise-vs-simple paradox analysis: ForgeLM adds a "Layer 0" entry point without changing its CI/CD-native identity. The same YAML schema, the same trainer, the same outputs — just wrapped in pre-built templates and opinionated defaults. Depends on Phase 10 (`chat`) for end-of-training sanity loop.

### Tasks:

Expand Down
4 changes: 2 additions & 2 deletions docs/roadmap/phase-13-pro-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
**Estimated Effort:** High (3-4 months)
**Priority:** Medium — gated by Phase 10-12 adoption signal. Do not start until `v0.5.0` has ≥1K monthly PyPI installs and ≥2 paying support contracts.

> **Context:** Revenue model documented in the [monetization plan](../marketing/06_revenue_model.md): Pro CLI is the first tier above OSS. Core rule — everything users can reasonably do via shell scripts + public dashboards stays free; what requires ForgeLM-specific infrastructure (experiment graph, HPO orchestration, team config store) is Pro. No feature gating that degrades the free experience.
> **Context:** Revenue model documented in the internal monetization plan: Pro CLI is the first tier above OSS. Core rule — everything users can reasonably do via shell scripts + public dashboards stays free; what requires ForgeLM-specific infrastructure (experiment graph, HPO orchestration, team config store) is Pro. No feature gating that degrades the free experience.

### Tasks:

Expand All @@ -32,7 +32,7 @@
- Every Pro feature must have a 90%-equivalent OSS workaround documented. No "you must pay to use ForgeLM properly" messaging — Pro is for convenience and scale, not gatekeeping.
- Dashboard runs locally by default; cloud-hosted is a separate track.
- License validation must work offline after first activation (air-gapped compliance preserved).
- Pricing decisions documented in [marketing/06_revenue_model.md](../marketing/06_revenue_model.md), not here.
- Pricing decisions documented in the internal monetization plan, not here.

### Delivery:
- Target release: `v0.6.0-pro` (separately distributed; OSS core remains at `v0.5.x`)
Expand Down
2 changes: 1 addition & 1 deletion docs/standards/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@

## Things we do not own

Reaffirming [marketing/strategy/05-yapmayacaklarimiz.md](../marketing/strategy/05-yapmayacaklarimiz.md):
Reaffirming the internal "what we don't build" strategy doc (also captured under "What ForgeLM is not" in the root [`CLAUDE.md`](../../CLAUDE.md)):

Check notice on line 228 in docs/standards/architecture.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

docs/standards/architecture.md#L228

Expected: 80; Actual: 147

- **Inference engine.** We hand off to Ollama / vLLM / TGI / llama.cpp. `forgelm/inference.py` (Phase 10) is a thin client, not a server.
- **Web UI.** Config-driven is the identity. Dashboards live in Pro CLI (Phase 13), not core.
Expand Down
2 changes: 1 addition & 1 deletion docs/standards/code-review.md
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ The goal is the codebase, not the ego. A PR that gets blocked from merging isn't

## Anti-patterns (from maintainer experience + external analyses)

Referencing [marketing/strategy/05-yapmayacaklarimiz.md](../marketing/strategy/05-yapmayacaklarimiz.md) and analyses of adjacent projects:
Referencing the internal "what we don't build" strategy doc (public summary under "What ForgeLM is not" in the root [`CLAUDE.md`](../../CLAUDE.md)) and analyses of adjacent projects:

| Anti-pattern | Why rejected | Fix |
|---|---|---|
Expand Down
2 changes: 1 addition & 1 deletion docs/standards/coding.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ Default to no comments. Only add them when *why* is non-obvious:

## Anti-patterns (rejected at review)

These come from [`docs/analysis/QKV-Core/14-forgelm-icin-cikarimlar.md`](../analysis/QKV-Core/14-forgelm-icin-cikarimlar.md) — concrete sins ForgeLM avoids:
These come from the internal QKV-Core repo analysis (synthesised in the public [`master-review-opus-202604300906.md`](../analysis/code_reviews/master-review-opus-202604300906.md)) — concrete sins ForgeLM avoids:

| Anti-pattern | Why rejected | Correct form |
|---|---|---|
Expand Down
2 changes: 1 addition & 1 deletion docs/standards/localization.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ If you can't do the TR update in the same PR (e.g., you don't write Turkish), op
- All YAML config keys (`trainer_type`, not `egitici_turu`)
- All JSON output field names

**Reason:** CLI is the UX that Ahmet and Sarah (our two primary personas from [marketing/04_personas.md](../marketing/04_personas.md)) share. MLOps engineers worldwide read English errors. CLI strings are the single most viral part of the tool — screenshots, stackoverflow, LLM training data.
**Reason:** CLI is the UX that Ahmet and Sarah (our two primary personas from the internal personas doc) share. MLOps engineers worldwide read English errors. CLI strings are the single most viral part of the tool — screenshots, stackoverflow, LLM training data.

Exception: wizard prompts may be translated if ever we ship a localized wizard, but that's behind a `--lang=tr` flag and not the default. Currently not planned.

Expand Down
4 changes: 2 additions & 2 deletions docs/standards/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,10 +159,10 @@ under [Release prep workflow](#release-prep-workflow) below):

1. [ ] Verify `pip install forgelm==0.4.0` works in a clean venv.
2. [ ] Verify the Docker image builds with the new version.
3. [ ] Announce: Discord `#announcements`, Twitter, LinkedIn — template in [marketing/05_content_strategy.md](../marketing/05_content_strategy.md) "New Release".
3. [ ] Announce: Discord `#announcements`, Twitter, LinkedIn — template in the internal content strategy doc, "New Release" section.
4. [ ] Open a new `[Unreleased]` section in `CHANGELOG.md` for the next cycle.
5. [ ] Bump `pyproject.toml` version to next pre-release (`0.4.1rc1`).
6. [ ] Update [marketing/marketing_strategy_roadmap.md](../marketing/marketing_strategy_roadmap.md) metrics row.
6. [ ] Update the internal marketing strategy roadmap metrics row.

## Release prep workflow

Expand Down
14 changes: 7 additions & 7 deletions docs/usermanuals/en/compliance/annex-iv.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: Validate the EU AI Act Annex IV technical-documentation artifact an

# Verify Annex IV

`forgelm verify-annex-iv` is the read-only verifier paired with the Annex IV technical-documentation artifact (`compliance/annex_iv.json`). It walks the nine top-level fields the EU AI Act requires for high-risk systems (§1-9), checks that every required category is populated, and recomputes the manifest hash to detect any tampering since the artifact was generated. The producer side — the auto-population of Annex IV from your `compliance:` YAML block — is documented in the [Compliance Overview](#/compliance/overview).
`forgelm verify-annex-iv` is the read-only verifier paired with the Annex IV technical-documentation artifact (`compliance/annex_iv_metadata.json`). It walks the nine top-level fields the EU AI Act requires for high-risk systems (§1-9), checks that every required category is populated, and recomputes the manifest hash to detect any tampering since the artifact was generated. The producer side — the auto-population of Annex IV from your `compliance:` YAML block — is documented in the [Compliance Overview](#/compliance/overview).

## When to use it

Expand All @@ -20,7 +20,7 @@ description: Validate the EU AI Act Annex IV technical-documentation artifact an
sequenceDiagram
participant CI as CI / operator
participant Verify as forgelm verify-annex-iv
participant File as annex_iv.json
participant File as annex_iv_metadata.json

CI->>Verify: verify-annex-iv path
Verify->>File: read JSON
Expand All @@ -41,8 +41,8 @@ The verifier shares the canonicalisation routine `forgelm.compliance.compute_ann
## Quick start

```shell
$ forgelm verify-annex-iv checkpoints/run/compliance/annex_iv.json
OK: checkpoints/run/compliance/annex_iv.json
$ forgelm verify-annex-iv checkpoints/run/compliance/annex_iv_metadata.json
OK: checkpoints/run/compliance/annex_iv_metadata.json
All Annex IV §1-9 fields populated; manifest hash matches.
```

Expand All @@ -52,15 +52,15 @@ OK: checkpoints/run/compliance/annex_iv.json

```shell
$ forgelm verify-annex-iv --output-format json \
checkpoints/run/compliance/annex_iv.json
checkpoints/run/compliance/annex_iv_metadata.json
{
"success": true,
"valid": true,
"reason": "All Annex IV §1-9 fields populated; manifest hash matches.",
"missing_fields": [],
"manifest_hash_actual": "sha256:abcdef…",
"manifest_hash_expected": "sha256:abcdef…",
"path": "/abs/path/checkpoints/run/compliance/annex_iv.json"
"path": "/abs/path/checkpoints/run/compliance/annex_iv_metadata.json"
}
```

Expand Down Expand Up @@ -91,7 +91,7 @@ When the artifact carries a `metadata.manifest_hash` field, the verifier recompu
Artifacts without `metadata.manifest_hash` pass the field-completeness check but the verifier flags this in the reason text:

```text
OK: …/annex_iv.json
OK: …/annex_iv_metadata.json
All Annex IV §1-9 fields populated; no manifest_hash present so tampering detection skipped.
```

Expand Down
2 changes: 1 addition & 1 deletion docs/usermanuals/en/compliance/model-card.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ Full report in `artifacts/safety_report.json`.

## Compliance

- EU AI Act: Annex IV technical documentation in `artifacts/annex_iv.json`
- EU AI Act: Annex IV technical documentation in `artifacts/annex_iv_metadata.json`
- GDPR: PII masked at ingest; no training data retains identifiable subjects
- Audit log: `artifacts/audit_log.jsonl`

Expand Down
6 changes: 3 additions & 3 deletions docs/usermanuals/en/compliance/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@

```text
checkpoints/run/artifacts/
├── annex_iv.json ← Article 11 — technical documentation
├── annex_iv_metadata.json ← Article 11 — technical documentation
├── audit_log.jsonl ← Article 12 — append-only event log
├── data_audit_report.json ← Article 10 — data governance evidence
├── safety_report.json ← Article 9 + 15 — risk + safety assessment
Expand All @@ -54,7 +54,7 @@
|---|---|---|
| **9** | Risk management | Auto-revert + threshold gates + trend tracking. |
| **10** | Data governance | `forgelm audit` produces governance evidence per dataset. |
| **11** | Technical documentation | `annex_iv.json` is a populated Annex IV. |
| **11** | Technical documentation | `annex_iv_metadata.json` is a populated Annex IV. |

Check notice on line 57 in docs/usermanuals/en/compliance/overview.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

docs/usermanuals/en/compliance/overview.md#L57

Expected: 80; Actual: 88
| **12** | Record-keeping | Append-only `audit_log.jsonl` covering training start, eval gates, revert decisions. |
| **13** | Transparency | Auto-generated model card listing capabilities, limitations, training summary. |
| **14** | Human oversight | Optional `compliance.human_approval: true` blocks promotion until a human signs off. |
Expand Down Expand Up @@ -88,7 +88,7 @@
responsible_party: "Acme Corp <compliance@acme.example>"
```

Every field from `compliance:` flows into `annex_iv.json`. Required fields are validated at config load — a missing `intended_purpose` fails `--dry-run`.
Every field from `compliance:` flows into `annex_iv_metadata.json`. Required fields are validated at config load — a missing `intended_purpose` fails `--dry-run`.

## What goes into Annex IV

Expand Down
4 changes: 2 additions & 2 deletions docs/usermanuals/en/concepts/choosing-trainer.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@ These templates ship with `forgelm quickstart` and reflect what most teams use a
|---|---|---|
| Helpful + safe customer-support bot | `customer-support` | SFT → DPO |
| Code-completion model | `code-assistant` | SFT → ORPO |
| Domain expert from your PDFs | `byod-domain-expert` | SFT only |
| Math reasoning | `math-reasoning` | GRPO with format-shaping reward |
| Domain expert from your PDFs | `domain-expert` | SFT only |
| Math reasoning | `grpo-math` | GRPO with format-shaping reward |
| Turkish medical Q&A | `medical-qa-tr` | SFT only |

## Anti-patterns
Expand Down
8 changes: 4 additions & 4 deletions docs/usermanuals/en/getting-started/first-run.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,9 @@ ForgeLM ships with five starter templates that cover most real-world fine-tuning
$ forgelm quickstart --list
customer-support Multi-turn helpful + safe (SFT + DPO)
code-assistant Code-completion fine-tune (SFT + ORPO)
byod-domain-expert PDF/DOCX corpus → domain Q&A (SFT)
domain-expert PDF/DOCX corpus → domain Q&A (SFT)
medical-qa-tr Turkish medical Q&A (SFT)
math-reasoning Step-by-step reasoning (GRPO)
grpo-math Step-by-step reasoning (GRPO)
```

For your first run, pick `customer-support` — it's small, finishes in ~30 minutes on a 12 GB GPU, and exercises every feature (SFT, DPO, eval, safety, audit):
Expand Down Expand Up @@ -118,7 +118,7 @@ $ forgelm --config configs/quickstart-customer-support.yaml
[2026-04-28 14:18:55] DPO preference pass · β=0.1 · KL=4.2
[2026-04-28 14:32:11] benchmark hellaswag=0.62 truthfulqa=0.48
[2026-04-28 14:33:02] Llama Guard S1-S14: clean
[2026-04-28 14:33:04] Annex IV → checkpoints/customer-support/artifacts/annex_iv.json
[2026-04-28 14:33:04] Annex IV → checkpoints/customer-support/artifacts/annex_iv_metadata.json
[2026-04-28 14:33:04] ✔ finished, exit 0
```

Expand All @@ -136,7 +136,7 @@ continues until the end of the current billing period…
```text
checkpoints/customer-support/
├── artifacts/
│ ├── annex_iv.json ← Article 11 technical documentation
│ ├── annex_iv_metadata.json ← Article 11 technical documentation
│ ├── audit_log.jsonl ← Article 12 append-only event log
│ ├── data_audit_report.json ← Article 10 data governance evidence
│ ├── safety_report.json ← Llama Guard verdict
Expand Down
2 changes: 1 addition & 1 deletion docs/usermanuals/en/operations/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ audit:

**Cause:** Required `compliance:` fields not set in YAML.

**Fix:** Run `forgelm verify-annex-iv path/to/annex_iv.json` for a list of missing fields.
**Fix:** Run `forgelm verify-annex-iv path/to/annex_iv_metadata.json` for a list of missing fields (the canonical filename ForgeLM writes — see [Annex IV](#/compliance/annex-iv)).

## Webhooks not firing

Expand Down
14 changes: 7 additions & 7 deletions docs/usermanuals/tr/compliance/annex-iv.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: EU AI Act Annex IV teknik dokümantasyon artifact'ını doğrulayı

# Annex IV Doğrulama

`forgelm verify-annex-iv`, Annex IV teknik dokümantasyon artifact'ı (`compliance/annex_iv.json`) ile eşleşen salt-okunur doğrulayıcıdır. EU AI Act'in yüksek-riskli sistemler için talep ettiği dokuz üst-seviye alanı (§1-9) yürür, her gerekli kategorinin doldurulduğunu kontrol eder ve artifact üretildiğinden bu yana tahrifat olup olmadığını tespit etmek için manifest hash'ini yeniden hesaplar. Üretici taraf — `compliance:` YAML bloğunuzdan Annex IV'ün otomatik doldurulması — [Uyumluluk Genel Bakış](#/compliance/overview) sayfasında belgelenmiştir.
`forgelm verify-annex-iv`, Annex IV teknik dokümantasyon artifact'ı (`compliance/annex_iv_metadata.json`) ile eşleşen salt-okunur doğrulayıcıdır. EU AI Act'in yüksek-riskli sistemler için talep ettiği dokuz üst-seviye alanı (§1-9) yürür, her gerekli kategorinin doldurulduğunu kontrol eder ve artifact üretildiğinden bu yana tahrifat olup olmadığını tespit etmek için manifest hash'ini yeniden hesaplar. Üretici taraf — `compliance:` YAML bloğunuzdan Annex IV'ün otomatik doldurulması — [Uyumluluk Genel Bakış](#/compliance/overview) sayfasında belgelenmiştir.

## Ne zaman kullanılır

Expand All @@ -20,7 +20,7 @@ description: EU AI Act Annex IV teknik dokümantasyon artifact'ını doğrulayı
sequenceDiagram
participant CI as CI / operatör
participant Verify as forgelm verify-annex-iv
participant File as annex_iv.json
participant File as annex_iv_metadata.json

CI->>Verify: verify-annex-iv path
Verify->>File: JSON oku
Expand All @@ -41,8 +41,8 @@ Doğrulayıcı, `forgelm.compliance.build_annex_iv_artifact` içindeki yazıcı
## Hızlı başlangıç

```shell
$ forgelm verify-annex-iv checkpoints/run/compliance/annex_iv.json
OK: checkpoints/run/compliance/annex_iv.json
$ forgelm verify-annex-iv checkpoints/run/compliance/annex_iv_metadata.json
OK: checkpoints/run/compliance/annex_iv_metadata.json
All Annex IV §1-9 fields populated; manifest hash matches.
```

Expand All @@ -52,15 +52,15 @@ OK: checkpoints/run/compliance/annex_iv.json

```shell
$ forgelm verify-annex-iv --output-format json \
checkpoints/run/compliance/annex_iv.json
checkpoints/run/compliance/annex_iv_metadata.json
{
"success": true,
"valid": true,
"reason": "All Annex IV §1-9 fields populated; manifest hash matches.",
"missing_fields": [],
"manifest_hash_actual": "sha256:abcdef…",
"manifest_hash_expected": "sha256:abcdef…",
"path": "/abs/path/checkpoints/run/compliance/annex_iv.json"
"path": "/abs/path/checkpoints/run/compliance/annex_iv_metadata.json"
}
```

Expand Down Expand Up @@ -91,7 +91,7 @@ Artifact bir `metadata.manifest_hash` alanı taşıdığında doğrulayıcı, ar
`metadata.manifest_hash` taşımayan artifact'lar alan-tamamlama kontrolünü geçer; ancak doğrulayıcı bunu neden metninde işaretler:

```text
OK: …/annex_iv.json
OK: …/annex_iv_metadata.json
All Annex IV §1-9 fields populated; no manifest_hash present so tampering detection skipped.
```

Expand Down
2 changes: 1 addition & 1 deletion docs/usermanuals/tr/compliance/model-card.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ Tam rapor `artifacts/safety_report.json`'da.

## Uyumluluk

- EU AI Act: `artifacts/annex_iv.json`'da Annex IV teknik dokümantasyonu
- EU AI Act: `artifacts/annex_iv_metadata.json`'da Annex IV teknik dokümantasyonu
- GDPR: PII ingest'te maskelendi; eğitim verisi tanımlanabilir özne tutmaz
- Audit log: `artifacts/audit_log.jsonl`

Expand Down
Loading