<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Development Docs on tab-foundry Docs</title><link>https://bensonlee5.github.io/tab-foundry/docs/development/</link><description>Recent content in Development Docs on tab-foundry Docs</description><generator>Hugo</generator><language>en</language><copyright>tab-foundry contributors</copyright><atom:link href="https://bensonlee5.github.io/tab-foundry/docs/development/index.xml" rel="self" type="application/rss+xml"/><item><title>Roadmap (202604)</title><link>https://bensonlee5.github.io/tab-foundry/docs/development/roadmap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://bensonlee5.github.io/tab-foundry/docs/development/roadmap/</guid><description>&lt;p&gt;Use this roadmap to understand which questions are active now, which surfaces
are frozen, and what evidence the repo still needs before promotion.&lt;/p&gt;
&lt;p&gt;The repo-wide plan is now sandwich-first:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;keep one frozen PFN-style control lane for trust and comparison&lt;/li&gt;
&lt;li&gt;treat &lt;code&gt;tabfoundry_sandwich&lt;/code&gt; as the active classification architecture target
and scaling-prep family&lt;/li&gt;
&lt;li&gt;use the closed TF-RD-010 classification benchmark contract as the fixed
anti-saturation regime before the first scaling fit&lt;/li&gt;
&lt;li&gt;treat steering-derived dagzoo fronts and other synthetic-surface expansion
work as sidecars rather than blockers on the &lt;code&gt;tab-foundry&lt;/code&gt; critical path&lt;/li&gt;
&lt;li&gt;make bounded kernel/runtime and VRAM optimization a hard prerequisite to
later scaling so every scale ladder inherits one measured runtime policy&lt;/li&gt;
&lt;li&gt;defer regression from the first classification scaling plan&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use these alongside this roadmap:&lt;/p&gt;</description></item><item><title>Model Architecture</title><link>https://bensonlee5.github.io/tab-foundry/docs/development/model-architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://bensonlee5.github.io/tab-foundry/docs/development/model-architecture/</guid><description>&lt;p&gt;Use this reference when you need the live architecture surface, the active
model family, and the current sandwich forward path.&lt;/p&gt;
&lt;p&gt;The repo now has one active architecture-development lane:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;tabfoundry_sandwich&lt;/code&gt;: the primary classification architecture target and
scaling-prep family&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It also keeps two comparison lanes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;tabfoundry_simple&lt;/code&gt;: the frozen PFN-style control&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tabfoundry_staged&lt;/code&gt;: the historical row-first reference line and benchmark
comparison surface&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Regression is still deferred. The active model surface is classification-only.&lt;/p&gt;
&lt;p&gt;Use these alongside this page:&lt;/p&gt;</description></item><item><title>Design Decisions</title><link>https://bensonlee5.github.io/tab-foundry/docs/development/design-decisions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://bensonlee5.github.io/tab-foundry/docs/development/design-decisions/</guid><description>&lt;p&gt;Use this page to understand the durable decisions behind the current
architecture, repo structure, and compatibility boundaries.&lt;/p&gt;
&lt;p&gt;Use these alongside this page:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;quickstart: &lt;code&gt;README.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;problem formulation: &lt;code&gt;docs/development/synthetic-prior-mission.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;workflow runbooks: &lt;code&gt;docs/workflows.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;canonical roadmap: &lt;code&gt;docs/development/roadmap.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;architecture reference: &lt;code&gt;docs/development/model-architecture.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;codebase navigation: &lt;code&gt;docs/development/codebase-navigation.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;maintained dependency map: &lt;code&gt;docs/development/module-dependency-map.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;reference index: &lt;code&gt;reference/README.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;curated references: &lt;code&gt;reference/papers.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;evidence mapping: &lt;code&gt;reference/evidence.md&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="direction"&gt;Direction&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;tab-foundry&lt;/code&gt; should not fragment across multiple live model families.&lt;/p&gt;
&lt;p&gt;The active architecture surface is now &lt;code&gt;tabfoundry_sandwich&lt;/code&gt;, with
&lt;code&gt;tabfoundry_simple&lt;/code&gt; retained only as the frozen exact anchor and
&lt;code&gt;tabfoundry_staged&lt;/code&gt; retained only as the historical reference line. The repo
should evolve through:&lt;/p&gt;</description></item><item><title>Codebase Navigation</title><link>https://bensonlee5.github.io/tab-foundry/docs/development/codebase-navigation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://bensonlee5.github.io/tab-foundry/docs/development/codebase-navigation/</guid><description>&lt;p&gt;Use this map when you need to find the right package, entry point, or workflow
surface before making a change. It complements
&lt;code&gt;docs/development/module-dependency-map.md&lt;/code&gt;, which records the observed
top-level package graph plus the intended dependency direction policy.&lt;/p&gt;
&lt;p&gt;This file owns package and entrypoint routing. It does not try to mirror the
full packaged CLI surface. For live command names and flags, use
&lt;code&gt;.venv/bin/tab-foundry ... --help&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="1-entry-points-and-orchestration"&gt;1. Entry Points And Orchestration&lt;/h2&gt;
&lt;p&gt;These are the user-facing or repo-local control surfaces that bridge commands
into the canonical library modules.&lt;/p&gt;</description></item><item><title>Module Dependency Map</title><link>https://bensonlee5.github.io/tab-foundry/docs/development/module-dependency-map/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://bensonlee5.github.io/tab-foundry/docs/development/module-dependency-map/</guid><description>&lt;p&gt;Use this map when you need the current package graph or want to plan a refactor
without reopening dependency cycles.&lt;/p&gt;
&lt;p&gt;The observed graph is synchronized against
&lt;code&gt;scripts/audit/module_graph.py --fail-on-doc-drift&lt;/code&gt;. Keep the current-state
section factual and keep design intent in the policy section below it.&lt;/p&gt;
&lt;h2 id="observed-current-top-level-package-graph"&gt;Observed Current Top-Level Package Graph&lt;/h2&gt;
&lt;!-- module-graph:start --&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;tab_foundry.__main__&lt;/code&gt; depends on &lt;code&gt;tab_foundry.cli&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tab_foundry.bench&lt;/code&gt; depends on &lt;code&gt;tab_foundry.config&lt;/code&gt;,
&lt;code&gt;tab_foundry.control_baseline_registry&lt;/code&gt;, &lt;code&gt;tab_foundry.data&lt;/code&gt;,
&lt;code&gt;tab_foundry.device&lt;/code&gt;, &lt;code&gt;tab_foundry.external_benchmarks&lt;/code&gt;,
&lt;code&gt;tab_foundry.benchmark_registry&lt;/code&gt;,
&lt;code&gt;tab_foundry.input_normalization&lt;/code&gt;, &lt;code&gt;tab_foundry.model&lt;/code&gt;,
&lt;code&gt;tab_foundry.preprocessing&lt;/code&gt;, &lt;code&gt;tab_foundry.registry&lt;/code&gt;,
&lt;code&gt;tab_foundry.repo_paths&lt;/code&gt;, &lt;code&gt;tab_foundry.task_batching&lt;/code&gt;,
&lt;code&gt;tab_foundry.timestamps&lt;/code&gt;, &lt;code&gt;tab_foundry.training&lt;/code&gt;, and
&lt;code&gt;tab_foundry.types&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tab_foundry.benchmark_registry&lt;/code&gt; depends on &lt;code&gt;tab_foundry.registry&lt;/code&gt; and
&lt;code&gt;tab_foundry.repo_paths&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tab_foundry.cli&lt;/code&gt; depends on &lt;code&gt;tab_foundry.bench&lt;/code&gt;,
&lt;code&gt;tab_foundry.benchmark_registry&lt;/code&gt;, &lt;code&gt;tab_foundry.config&lt;/code&gt;,
&lt;code&gt;tab_foundry.config_inspection&lt;/code&gt;, &lt;code&gt;tab_foundry.control_baseline_registry&lt;/code&gt;,
&lt;code&gt;tab_foundry.data&lt;/code&gt;, &lt;code&gt;tab_foundry.device&lt;/code&gt;, &lt;code&gt;tab_foundry.export&lt;/code&gt;,
&lt;code&gt;tab_foundry.external_benchmarks&lt;/code&gt;, &lt;code&gt;tab_foundry.model&lt;/code&gt;,
&lt;code&gt;tab_foundry.repo_paths&lt;/code&gt;, &lt;code&gt;tab_foundry.research&lt;/code&gt;,
&lt;code&gt;tab_foundry.task_batching&lt;/code&gt;, and &lt;code&gt;tab_foundry.training&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tab_foundry.config&lt;/code&gt; depends on &lt;code&gt;tab_foundry.repo_paths&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tab_foundry.config_inspection&lt;/code&gt; depends on &lt;code&gt;tab_foundry.config&lt;/code&gt;,
&lt;code&gt;tab_foundry.data&lt;/code&gt;, &lt;code&gt;tab_foundry.model&lt;/code&gt;,
&lt;code&gt;tab_foundry.preprocessing&lt;/code&gt;, and &lt;code&gt;tab_foundry.training&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tab_foundry.control_baseline_registry&lt;/code&gt; depends on
&lt;code&gt;tab_foundry.registry&lt;/code&gt; and &lt;code&gt;tab_foundry.repo_paths&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tab_foundry.data&lt;/code&gt; depends on &lt;code&gt;tab_foundry.benchmark_registry&lt;/code&gt;,
&lt;code&gt;tab_foundry.feature_types&lt;/code&gt;, &lt;code&gt;tab_foundry.hashing&lt;/code&gt;,
&lt;code&gt;tab_foundry.preprocessing&lt;/code&gt;, &lt;code&gt;tab_foundry.repo_paths&lt;/code&gt;,
&lt;code&gt;tab_foundry.task_batching&lt;/code&gt;, &lt;code&gt;tab_foundry.timestamps&lt;/code&gt;, and
&lt;code&gt;tab_foundry.types&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tab_foundry.export&lt;/code&gt; depends on &lt;code&gt;tab_foundry.feature_types&lt;/code&gt;,
&lt;code&gt;tab_foundry.hashing&lt;/code&gt;, &lt;code&gt;tab_foundry.model&lt;/code&gt;, &lt;code&gt;tab_foundry.preprocessing&lt;/code&gt;,
&lt;code&gt;tab_foundry.repo_paths&lt;/code&gt;, and &lt;code&gt;tab_foundry.types&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tab_foundry.model&lt;/code&gt; depends on &lt;code&gt;tab_foundry.feature_types&lt;/code&gt;,
&lt;code&gt;tab_foundry.input_normalization&lt;/code&gt;, &lt;code&gt;tab_foundry.likelihoods&lt;/code&gt;, and
&lt;code&gt;tab_foundry.types&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tab_foundry.preprocessing&lt;/code&gt; depends on &lt;code&gt;tab_foundry.feature_types&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tab_foundry.registry&lt;/code&gt; depends on &lt;code&gt;tab_foundry.repo_paths&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tab_foundry.research&lt;/code&gt; depends on &lt;code&gt;tab_foundry.bench&lt;/code&gt;,
&lt;code&gt;tab_foundry.benchmark_registry&lt;/code&gt;, &lt;code&gt;tab_foundry.config&lt;/code&gt;,
&lt;code&gt;tab_foundry.control_baseline_registry&lt;/code&gt;, &lt;code&gt;tab_foundry.data&lt;/code&gt;,
&lt;code&gt;tab_foundry.device&lt;/code&gt;, &lt;code&gt;tab_foundry.external_benchmarks&lt;/code&gt;,
&lt;code&gt;tab_foundry.hashing&lt;/code&gt;, &lt;code&gt;tab_foundry.model&lt;/code&gt;,
&lt;code&gt;tab_foundry.repo_paths&lt;/code&gt;, &lt;code&gt;tab_foundry.training&lt;/code&gt;, and
&lt;code&gt;tab_foundry.types&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tab_foundry.task_batching&lt;/code&gt; depends on &lt;code&gt;tab_foundry.types&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tab_foundry.training&lt;/code&gt; depends on &lt;code&gt;tab_foundry.data&lt;/code&gt;,
&lt;code&gt;tab_foundry.device&lt;/code&gt;, &lt;code&gt;tab_foundry.feature_types&lt;/code&gt;,
&lt;code&gt;tab_foundry.hashing&lt;/code&gt;, &lt;code&gt;tab_foundry.likelihoods&lt;/code&gt;,
&lt;code&gt;tab_foundry.model&lt;/code&gt;, &lt;code&gt;tab_foundry.preprocessing&lt;/code&gt;,
&lt;code&gt;tab_foundry.repo_paths&lt;/code&gt;, &lt;code&gt;tab_foundry.task_batching&lt;/code&gt;,
&lt;code&gt;tab_foundry.timestamps&lt;/code&gt;, and &lt;code&gt;tab_foundry.types&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- module-graph:end --&gt;
&lt;p&gt;Observed cycle status:&lt;/p&gt;</description></item><item><title>Model Config Reference</title><link>https://bensonlee5.github.io/tab-foundry/docs/development/model-config/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://bensonlee5.github.io/tab-foundry/docs/development/model-config/</guid><description>&lt;p&gt;Use this reference when you need to know which model settings matter, where
they come from, and how they resolve across training, evaluation, export, and
bundle loading.&lt;/p&gt;
&lt;p&gt;Use these alongside this reference:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;architecture reference: &lt;code&gt;docs/development/model-architecture.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;inference contract: &lt;code&gt;docs/inference.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;canonical model spec: &lt;code&gt;src/tab_foundry/model/spec.py&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;config defaults: &lt;code&gt;configs/model/default.yaml&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="source-of-truth"&gt;Source Of Truth&lt;/h2&gt;
&lt;p&gt;The model config surface is shared across several layers, but the roles differ:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;configs/model/default.yaml&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;Canonical repo-level default values for Hydra-composed train and eval runs.&lt;/li&gt;
&lt;li&gt;This is the intended operator-facing default source.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;src/tab_foundry/model/spec.py&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;Canonical typed representation of model settings.&lt;/li&gt;
&lt;li&gt;Provides fallback defaults for non-Hydra paths such as checkpoint-based
evaluation, export reconstruction, and bundle loading.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Checkpoint payload &lt;code&gt;config.model&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;Persists the model settings used for a training run.&lt;/li&gt;
&lt;li&gt;Takes precedence over fallback config when evaluating or exporting a
checkpoint.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Export manifest &lt;code&gt;model&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;Persists the resolved model settings that an inference/runtime loader needs
to reconstruct the model.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Current canonical default:&lt;/p&gt;</description></item><item><title>Dataset Curation And License Review</title><link>https://bensonlee5.github.io/tab-foundry/docs/development/dataset-curation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://bensonlee5.github.io/tab-foundry/docs/development/dataset-curation/</guid><description>&lt;p&gt;Use this policy when deciding whether a real-data dataset may enter a curated
benchmark bundle or manifest-backed comparator surface in &lt;code&gt;tab-foundry&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Use these alongside this policy:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;canonical roadmap: &lt;code&gt;docs/development/roadmap.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;operator workflow runbook: &lt;code&gt;docs/workflows.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;review ledger: &lt;code&gt;reference/dataset_license_reviews.csv&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="policy"&gt;Policy&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;No real-data dataset may be added to an OpenML benchmark bundle,
manifest-backed external set, or other curated benchmark ladder until its
license review is complete.&lt;/li&gt;
&lt;li&gt;Keep one canonical OpenML baseline where the benchmark tooling is already
native, and use vetted manifest-backed external real-data datasets as
augmentation lanes when they add regimes that OpenML does not cover cleanly.&lt;/li&gt;
&lt;li&gt;The source of truth for approval status is the repo-tracked review ledger at
&lt;code&gt;reference/dataset_license_reviews.csv&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;This gate applies to OpenML datasets and vetted external real-data sources
such as Kaggle mirrors.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dagzoo&lt;/code&gt; remains the synthetic-data generation lane. It is not an external
real-data source, and its synthetic corpora do not replace the review
requirement for any real-data comparator set.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="review-record"&gt;Review Record&lt;/h2&gt;
&lt;p&gt;Each dataset review record must include these fields:&lt;/p&gt;</description></item></channel></rss>