search for standard sites pub-search.waow.tech
search zig blog atproto

refactor: rename mod.zig to sibling-file pattern (idiomatic zig)

Zig convention uses foo.zig next to foo/ directory, not foo/mod.zig
(which is a Rust pattern). Renamed all four module entry points and
updated imports throughout.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

+29 -29
+5 -5
backend/src/db/mod.zig backend/src/db.zig
··· 1 1 const std = @import("std"); 2 2 const posix = std.posix; 3 3 4 - const schema = @import("schema.zig"); 5 - const result = @import("result.zig"); 6 - const sync = @import("sync.zig"); 4 + const schema = @import("db/schema.zig"); 5 + const result = @import("db/result.zig"); 6 + const sync = @import("db/sync.zig"); 7 7 8 8 // re-exports 9 - pub const Client = @import("Client.zig"); 10 - pub const LocalDb = @import("LocalDb.zig"); 9 + pub const Client = @import("db/Client.zig"); 10 + pub const LocalDb = @import("db/LocalDb.zig"); 11 11 pub const Row = result.Row; 12 12 pub const Result = result.Result; 13 13 pub const BatchResult = result.BatchResult;
+4
backend/src/ingest.zig
··· 1 + pub const tap = @import("ingest/tap.zig"); 2 + pub const embedder = @import("ingest/embedder.zig"); 3 + pub const reconciler = @import("ingest/reconciler.zig"); 4 + // indexer and extractor are internal to the pipeline
+1 -1
backend/src/ingest/embedder.zig
··· 11 11 const Allocator = mem.Allocator; 12 12 const logfire = @import("logfire"); 13 13 const zql = @import("zql"); 14 - const db = @import("../db/mod.zig"); 14 + const db = @import("../db.zig"); 15 15 const tpuf = @import("../tpuf.zig"); 16 16 17 17 // voyage-4-lite limits
+1 -1
backend/src/ingest/indexer.zig
··· 1 1 const std = @import("std"); 2 2 const logfire = @import("logfire"); 3 - const db = @import("../db/mod.zig"); 3 + const db = @import("../db.zig"); 4 4 5 5 /// Hash title+content for cross-platform dedup. 6 6 /// Returns a 16-char hex string (wyhash of "title\x00content").
-4
backend/src/ingest/mod.zig
··· 1 - pub const tap = @import("tap.zig"); 2 - pub const embedder = @import("embedder.zig"); 3 - pub const reconciler = @import("reconciler.zig"); 4 - // indexer and extractor are internal to the pipeline
+1 -1
backend/src/ingest/reconciler.zig
··· 15 15 const posix = std.posix; 16 16 const Allocator = mem.Allocator; 17 17 const logfire = @import("logfire"); 18 - const db = @import("../db/mod.zig"); 18 + const db = @import("../db.zig"); 19 19 const tpuf = @import("../tpuf.zig"); 20 20 const indexer = @import("indexer.zig"); 21 21
+4 -4
backend/src/main.zig
··· 3 3 const posix = std.posix; 4 4 const Thread = std.Thread; 5 5 const logfire = @import("logfire"); 6 - const db = @import("db/mod.zig"); 6 + const db = @import("db.zig"); 7 7 const tpuf = @import("tpuf.zig"); 8 - const metrics = @import("metrics/mod.zig"); 9 - const server = @import("server/mod.zig"); 10 - const ingest = @import("ingest/mod.zig"); 8 + const metrics = @import("metrics.zig"); 9 + const server = @import("server.zig"); 10 + const ingest = @import("ingest.zig"); 11 11 12 12 const MAX_HTTP_WORKERS = 16; 13 13 const SOCKET_TIMEOUT_SECS = 5;
+4
backend/src/metrics.zig
··· 1 + pub const stats = @import("metrics/stats.zig"); 2 + pub const buffer = @import("metrics/buffer.zig"); 3 + pub const timing = @import("metrics/timing.zig"); 4 + pub const activity = @import("metrics/activity.zig");
+1 -1
backend/src/metrics/buffer.zig
··· 2 2 //! Follows activity.zig pattern: instant local writes, periodic remote sync 3 3 4 4 const std = @import("std"); 5 - const db = @import("../db/mod.zig"); 5 + const db = @import("../db.zig"); 6 6 const logfire = @import("logfire"); 7 7 8 8 const SYNC_INTERVAL_MS = 5000; // 5 seconds
-4
backend/src/metrics/mod.zig
··· 1 - pub const stats = @import("stats.zig"); 2 - pub const buffer = @import("buffer.zig"); 3 - pub const timing = @import("timing.zig"); 4 - pub const activity = @import("activity.zig");
+1 -1
backend/src/metrics/stats.zig
··· 1 1 const std = @import("std"); 2 - const db = @import("../db/mod.zig"); 2 + const db = @import("../db.zig"); 3 3 const activity = @import("activity.zig"); 4 4 const stats_buffer = @import("buffer.zig"); 5 5
+2 -2
backend/src/server/dashboard.zig
··· 1 1 const std = @import("std"); 2 2 const json = std.json; 3 3 const Allocator = std.mem.Allocator; 4 - const db = @import("../db/mod.zig"); 4 + const db = @import("../db.zig"); 5 5 const logfire = @import("logfire"); 6 - const timing = @import("../metrics/mod.zig").timing; 6 + const timing = @import("../metrics.zig").timing; 7 7 8 8 // JSON output types 9 9 const TagJson = struct { tag: []const u8, count: i64 };
+4 -4
backend/src/server/mod.zig backend/src/server.zig
··· 6 6 const Allocator = mem.Allocator; 7 7 const logfire = @import("logfire"); 8 8 const zql = @import("zql"); 9 - const db = @import("../db/mod.zig"); 10 - const metrics = @import("../metrics/mod.zig"); 11 - const search = @import("search.zig"); 12 - const dashboard = @import("dashboard.zig"); 9 + const db = @import("db.zig"); 10 + const metrics = @import("metrics.zig"); 11 + const search = @import("server/search.zig"); 12 + const dashboard = @import("server/dashboard.zig"); 13 13 14 14 const HTTP_BUF_SIZE = 65536; 15 15 const QUERY_PARAM_BUF_SIZE = 64;
+1 -1
backend/src/server/search.zig
··· 3 3 const Allocator = std.mem.Allocator; 4 4 const zql = @import("zql"); 5 5 const logfire = @import("logfire"); 6 - const db = @import("../db/mod.zig"); 6 + const db = @import("../db.zig"); 7 7 const tpuf = @import("../tpuf.zig"); 8 8 9 9 pub const SearchMode = enum {