Skip to content

Latest commit

 

History

History
63 lines (53 loc) · 3.81 KB

File metadata and controls

63 lines (53 loc) · 3.81 KB
title Codebase Map
audience developers, contributors
prerequisites contributor architecture guide
related architecture.md, packages/index.md, feature-to-code-map.md, testing-strategy.md
status maintained
publication reviewed

Codebase Map

This page answers one question: which modules do I open for this concern? The architecture explains the stage handoffs and authority boundaries, the architecture component guides explain what each component is responsible for, and the feature-to-code map connects a user-visible behavior to its documentation and evidence.

Public And Build Entry Points

Location Responsibility
prik/__init__.py Public build entry points and version.
prik/cli.py CLI argument validation, stage selection, and output routing.
prik/pipeline/build.py Source-first and contract-first extension-build orchestration.
prik/pipeline/pyi.py Semantic .pyi loading and external-type reconciliation.
prik/pipeline/wrapper.py Completed plan to rendered-wrapper orchestration and artifact records.
prik/compiler/compilers.py Native compiler invocation and tool lookup.

Component Ownership

Concerns are listed in pipeline order. The component guide explains the boundary; the modules are where the change lands.

Concern Component Owning modules
Build, contract, report, and artifact orchestration prik.pipeline build.py, pyi.py, wrapper.py, type_mapping_report.py
Prepared source, provenance, and target facts prik.preprocessing source.py, fortran.py, c.py, probes/fortran_types.py, probes/c_types.py
Parsed language facts prik.parsers fortran/parser.py, pyi/parser.py, c/
Shared language-neutral meaning prik.semantics models.py, fortran2ir.py, pyi2ir.py, c2ir.py, scalar_types.py
Completed interoperability policy prik.policy completion.py, construction.py, ownership.py, exports.py, native_array_handles.py
Deterministic wrapper planning prik.planning models.py, planner.py, entrypoints.py
Binding, bridge, and Python-facade lowering prik.codegen c/binding.py, c/python_surface.py, fortran/bridge.py, primitive_scalar_types.py
Generated-text serialization prik.printers c.py, fortran.py, pyi.py
Native build and link execution prik.compiler compilers.py, objects.py, compiler_profiles.py, native_support.py
Imported runtime objects and native payload prik.runtime handles.py, native_support/
Public semantic .pyi vocabulary prik.contracts __init__.py
Public names and generated symbols prik.naming policy.py, native_symbols.py
Stage-neutral helpers prik.utilities declaration_expressions.py, stage_values.py, strings.py, visitor.py

Scalar representation deliberately spans three of those rows: semantic identity lives in semantics/scalar_types.py, the measured target fact comes from preprocessing/probes/, and backend spellings live in codegen/primitive_scalar_types.py.

Keeping This Map Accurate

Update this page when a package gains, loses, or moves an owning module. Update the matching component guide when its local structure or boundary changes, and the feature-to-code map when a user-visible capability changes owners. The supported public surface is recorded in the public feature matrix, not here.