tickmarkr 1.33.3 → 1.33.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -235,7 +235,7 @@ and first-attempt success rate. Cost reporting follows strict honesty rules and
235
235
  - **Ranges, never single numbers**: quota multipliers and monthly-window variation make subscription costs a range, not a point estimate
236
236
  - **"Not measurable" never becomes $0**: if a channel lacks pricing or metering data, the report explicitly states "not measurable"
237
237
  - **Basis always shown**: every cost figure prints the token count, rate used, and date so estimates can be audited
238
- - **No network calls**: pricing config is operator-maintained in `.drovr/config.yaml` (or `~/.config/drovr/config.yaml`), seeded with dated
238
+ - **No network calls**: pricing config is operator-maintained in `.drovr/config.yaml` (or `~/.config/tickmarkr/config.yaml`; legacy `~/.config/drovr` still read), seeded with dated
239
239
  comments and LiteLLM's JSON file named as the copy-from source; tickmarkr never calls home to fetch rates
240
240
  - **Attribution from journal**: token counts come from tickmarkr's own telemetry spans in the audit trail, never from provider invoices or dashboards
241
241
 
@@ -255,9 +255,12 @@ function readYaml(path) {
255
255
  return parse(readFileSync(path, "utf8"));
256
256
  }
257
257
  export function globalConfigDir() {
258
- return process.env.XDG_CONFIG_HOME
259
- ? join(process.env.XDG_CONFIG_HOME, "drovr")
260
- : join(homedir(), ".config", "drovr");
258
+ // read-old/write-new (operator-ordered rename 2026-07-15): prefer ~/.config/tickmarkr; an
259
+ // existing ~/.config/drovr keeps working until the operator moves it. New scaffolds use tickmarkr.
260
+ const base = process.env.XDG_CONFIG_HOME ?? join(homedir(), ".config");
261
+ const next = join(base, "tickmarkr");
262
+ const legacy = join(base, "drovr");
263
+ return existsSync(join(next, "config.yaml")) || !existsSync(join(legacy, "config.yaml")) ? next : legacy;
261
264
  }
262
265
  export function loadConfig(repoRoot, opts = {}) {
263
266
  const globalCfg = readYaml(join(opts.globalDir ?? globalConfigDir(), "config.yaml"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tickmarkr",
3
- "version": "1.33.3",
3
+ "version": "1.33.4",
4
4
  "description": "Spec in, verified work out.",
5
5
  "type": "module",
6
6
  "license": "MIT",