job-forge 2.7.0 → 2.8.0

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/models.yaml CHANGED
@@ -1,46 +1,63 @@
1
1
  # JobForge model policy — one authored source, fanned out to each harness.
2
2
  #
3
3
  # `@razroo/iso-route build` reads this file and writes:
4
- # - .claude/settings.json (default model for Claude Code)
4
+ # - .claude/settings.json (default Claude Code model)
5
5
  # - .claude/iso-route.resolved.json (role map iso-harness stamps onto
6
6
  # .claude/agents/*.md frontmatter)
7
- # - .codex/config.toml (model + [profiles.*] + providers;
8
- # iso-harness then merges its [mcp_servers.*]
9
- # sections on top see @razroo/iso-harness
10
- # 0.5.0+ for the merge behavior)
11
- # - opencode.json (top-level model, plus per-agent overrides
12
- # that don't clobber inline opencode-specific
13
- # model IDs in iso/agents/*.md)
14
- # - .cursor/iso-route.md (advisory README — Cursor has no programmatic
15
- # way to bind a model to a rule or agent)
7
+ # - .codex/config.toml (model + [profiles.*] + providers;
8
+ # iso-harness merges [mcp_servers.*]
9
+ # on top of this via v0.5+)
10
+ # - opencode.json (top-level + per-agent overrides;
11
+ # iso-harness preserves these when
12
+ # layering mcp on top)
13
+ # - .cursor/iso-route.md (advisory Cursor has no
14
+ # programmatic model binding)
16
15
  #
17
- # Roles map 1:1 to the subagent files in iso/agents/ (by slug). JobForge
18
- # agents opt in to each harness by removing the `targets.<harness>: skip`
19
- # line then iso-harness stamps the model from the resolved map below.
16
+ # Each role maps 1:1 to a subagent file in iso/agents/ (by filename slug).
17
+ # The `targets.<harness>` sub-object overrides provider+model when
18
+ # emitting for that specific harness; otherwise the generic policy on the
19
+ # role is used (iso-route v0.2+).
20
20
 
21
21
  default:
22
22
  provider: anthropic
23
23
  model: claude-sonnet-4-6
24
+ targets:
25
+ # OpenCode users default to the OpenCode proxy's paid-tier chat model
26
+ # for the top-level (non-subagent) session.
27
+ opencode:
28
+ provider: opencode
29
+ model: opencode/glm-5.1
24
30
 
25
31
  roles:
26
32
  # @general-free — procedural worker (form-fill, TSV merge, OTP retrieval,
27
- # scan extraction). Cheap model; deterministic work where quality-sensitive
28
- # prose is NOT required. Matches D2 in iso/instructions.md.
33
+ # scan metadata extraction). Runs on each harness's cheapest-reliable
34
+ # model; OpenCode gets the free-tier proxy so batch applies cost $0.
29
35
  general-free:
30
36
  provider: anthropic
31
37
  model: claude-haiku-4-5
38
+ targets:
39
+ opencode:
40
+ provider: opencode
41
+ model: opencode/big-pickle
32
42
 
33
43
  # @general-paid — quality-sensitive worker (Blocks A-F evaluation, cover
34
- # letters, STAR stories, LinkedIn outreach). Matches D2 in iso/instructions.md.
35
- # Upgrade target for high-stakes applies per D3.
44
+ # letters, STAR stories, LinkedIn outreach). Upgrade target for
45
+ # high-stakes applies per [D3] in iso/instructions.md.
36
46
  general-paid:
37
47
  provider: anthropic
38
48
  model: claude-sonnet-4-6
49
+ targets:
50
+ opencode:
51
+ provider: opencode
52
+ model: opencode/glm-5.1
39
53
 
40
- # @glm-minimal — narrow ≤5K-input one-shot extractor / classifier. Runs on
41
- # the cheap tier because inputs are small and outputs are structured; no
42
- # context budget pressure. Named for the OpenCode provider it was tuned
43
- # against; on other harnesses, Haiku is the closest equivalent.
54
+ # @glm-minimal — narrow ≤5K-input one-shot extractor / classifier. Named
55
+ # for its original tuning target (Minimax on the OpenCode proxy); on
56
+ # harnesses without that proxy it falls through to a cheap general model.
44
57
  glm-minimal:
45
58
  provider: anthropic
46
59
  model: claude-haiku-4-5
60
+ targets:
61
+ opencode:
62
+ provider: opencode
63
+ model: opencode/minimax-m2.5-free
package/opencode.json CHANGED
@@ -1,20 +1,15 @@
1
1
  {
2
2
  "$schema": "https://opencode.ai/config.json",
3
- "model": "anthropic/claude-sonnet-4-6",
3
+ "model": "opencode/glm-5.1",
4
4
  "agent": {
5
5
  "general-free": {
6
- "model": "anthropic/claude-haiku-4-5"
6
+ "model": "opencode/big-pickle"
7
7
  },
8
8
  "general-paid": {
9
- "model": "anthropic/claude-sonnet-4-6"
9
+ "model": "opencode/glm-5.1"
10
10
  },
11
11
  "glm-minimal": {
12
- "model": "anthropic/claude-haiku-4-5"
13
- }
14
- },
15
- "provider": {
16
- "anthropic": {
17
- "npm": "@ai-sdk/anthropic"
12
+ "model": "opencode/minimax-m2.5-free"
18
13
  }
19
14
  },
20
15
  "mcp": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "job-forge",
3
- "version": "2.7.0",
3
+ "version": "2.8.0",
4
4
  "description": "AI-powered job search pipeline built on opencode",
5
5
  "type": "module",
6
6
  "bin": {
@@ -82,9 +82,9 @@
82
82
  "playwright": "^1.58.1"
83
83
  },
84
84
  "devDependencies": {
85
- "@razroo/iso": "^0.2.1",
85
+ "@razroo/iso": "^0.2.2",
86
86
  "@razroo/iso-harness": "^0.5.0",
87
- "@razroo/iso-route": "^0.1.0",
87
+ "@razroo/iso-route": "^0.2.0",
88
88
  "@razroo/iso-trace": "^0.1.0"
89
89
  }
90
90
  }