Scout / Changelog

What changed, where it landed, and what proves it.

This changelog separates production releases from integration-only work and historical evaluation records. Entries summarize the actual change on this page. External links are included only as the source for that specific record.

Productionmaster · 7d011708
Integrationdevelop · e74ac22b
Release tree92b4d149 · exact parity
AuditedSeptember 15, 2026
No changelog entries match that search.
01 / Source snapshot · September 15, 2026

Production and integration share the newly released tree.

Production 7d011708 and integration e74ac22b preserve different ancestry but share Git tree 92b4d149. Staging was regenerated from the same integration source at 201beb9c.

Production source

master · 7d011708

PR #32 exact-tree September 15 release.

Integration source

develop · e74ac22b

PR #31 semantic-reliability and tenant-portability integration.

Staging mirror

201beb9c

Generated from e74ac22b.

Release-truth rule: source release, backend deployment, Pages publication, and browser behavior are separate facts. Production GitHub Pages run 34925715817 completed with conclusion success on 7d011708. Production backend health was independently reachable during this refresh.
September 15, 2026 · Production source release

Semantic reliability and tenant portability reached the released Scout tree.

PR #31 integrated the long-running reliability branch into protected develop; PR #32 then promoted the exact qualified tree to master. The release keeps Recruiter Alpha as the reference application while moving core identity, context, relationship, and validation logic further away from recruiter-specific assumptions.

Structured semantic query plan.Current-turn semantics, active entity, facet/relation/topic/role, continuation state, and retrieval legs replace the old bag-of-words history merge.
Canonical identity.Entity aliases, tenant aliases, and weak name parts share one precedence rule so a real entity cannot silently borrow the tenant subject's relationships.
Response obligations.Requested-facet enumeration and false-unknown checks reject answers that are technically non-false but fail the user's requested semantic obligation.
Tenant portability.Empty/no-KB operation and synthetic unrelated-domain regressions are part of the released test surface; formal domain-package contracts remain the next productization phase.
September 15 qualification evidenceRecorded result
Deterministic suite1452/1452
Retrieval Recall@61.000
Dated DEV conversation gate100/132 turns · 20/33 conversations
Qualified feature CI34922407613
Develop merge-result CI34925217993
Do not read 100/132 as a universal accuracy score. It is a dated live qualification result for one code/model/scorer combination. The release deliberately kept fail-closed validation instead of weakening grounding to chase the corpus score.
September 5, 2026 · Product documentation

One static source for each page.

Current release, accounting, roadmap, diagrams, and study material now live directly in HTML. Retired browser correction layers no longer compete with the original page text. Source references are pinned to audited revisions; navigation includes Learn and Roadmap, and documentation search includes full section text.

The discourse branch advanced to cddb3bc with a documentation-only handoff after the two implementation commits. It remains development work.

September 5, 2026 · Historical post-release branch

The discourse branch was an intermediate checkpoint before later integration.

feat/generic-conversation-sets@cddb3bc is +3/-0 from develop@4f5ee971 at recheck. At the September 5 snapshot it was not in staging or production; later semantic/discourse work was integrated through subsequent pull requests and the September 15 release.

f145f8c · discourse frames.Server-owned state tracks the active conversational relation and ordered user-introduced alternatives without domain vocabulary. Corrections/removals/ordinals mutate the set; assistant mentions do not become authoritative set members.
cddb3bc · cache-hit state + clarification.Discourse state is committed before cache/direct-KB early returns, and unresolved plural-set questions can route through a CLARIFICATION control mode instead of a scope decline.
Test surface.The branch adds test/discourse-frames.test.js. No GitHub Actions run/status or PR for this head was exposed at the audit recheck, so no new pass count is asserted.
September 5, 2026 · Qualified tree released

Phase 7/8, widget fixes, and release hardening reached production source.

The August 27 product-site snapshot still showed Phase 02 on an active feature branch. The accepted conversation-gate work was merged, widget initialization/input/scroll fixes were merged, release hardening was applied, staging was regenerated from 4f5ee971, and PR #29 promoted the exact qualified tree to production.

PR #23 · conversation gate.Generic policy/contracts, follow-up/referent handling, evidence selection and validation regressions. Pre-release checkpoint: 94/132 turns, 21/33 conversations.
PR #24 · idempotent embed.Guards repeated ProjectHub initialization and exposes an explicit initializer for dynamic embeds.
PR #26 · composer/scroll.Typing stays available during replies, submitted follow-ups can queue, and auto-scroll no longer hijacks a user who has scrolled up.
PR #28 · release hardening.Diagnostics require server authorization + request opt-in, debug turns are cache-isolated, partial widget setup rolls back for safe retry, and browser regressions cover drafts/bottom-follow.
PR #29 · production source.master@b071e4e4 and develop@4f5ee971 share Git tree a0066cc8; staging records 4f5ee971.
September 5 released-tree verificationRecorded resultScope
Local test suite1019/1019Release-hardening tree; zero skipped in PR evidence.
Retrieval Recall@61.000Released-tree retrieval verification.
Retrieval MRR@60.942Released-tree retrieval verification.
Phase 7/8 live gate94/132 turns · 21/33 conversationsDated pre-release run at 4d39995.
Inference-unavailable outcomes14/38 remaining failuresObserved failure category in that dated run; not proof of external root cause.
Known residuals remain: the pre-release conversation run did not pass every turn. 14/38 remaining failures were classified as inference unavailable, and release evidence deferred remaining conversation failures rather than claiming all were fixed.
September 2, 2026 · Earlier production promotion

The qualified August integration tree was promoted with a master-parented release branch.

PR #22 replaced a conflicting direct develop→master PR (#21) with a clean release branch based on production ancestry. The same release pattern was used again on September 5.

September 5, 2026 · Branch audit

All visible branch heads were checked, then checked again before publication.

ProjectHub: 35 visible branches. Twelve branch heads are newer than the August 27 product-page cutoff; 23 point to older July/August work. ProjectHub-dev: two visible branches. During the audit, feat/generic-conversation-sets moved from the released develop pointer to cddb3bc, so the later branch state is the one documented here.

Git history nuance: old feature branches can still appear ahead/diverged after accepted changes were squash-merged. The site therefore uses merge state, current tree content, dates, branch tips, and staging provenance together rather than interpreting raw ahead/behind counts as release status.

Current post-release branch categories: runtime development cddb3bc (+3/-0 from develop) and dependency-only maintenance c32e83b (one lockfile-only commit ahead of master).

August 23–24, 2026 · Accounting correction

Cloudflare neuron accounting moved to exact model identifiers.

Scout's hosted model remained @cf/meta/llama-3.1-8b-instruct-fast. The old metadata associated 4,119 / 34,868 neurons per million input/output tokens with that identifier. Cloudflare publishes those rates for @cf/meta/llama-3.1-8b-instruct-fp8-fast instead and does not document the identifiers as billing aliases.

Model unchanged.The correction did not switch Scout to FP8-fast.
Exact identifier lookup.@cf/meta/llama-3.1-8b-instruct-fast has no guessed rate. @cf/meta/llama-3.1-8b-instruct-fp8-fast and @cf/meta/llama-3.1-8b-instruct-fp8 keep their own published rates.
Unknown is not zero.No provider actual value + no verified exact-model rate means null / unknown.
Completeness stays explicit.An unknown contributing call keeps a multi-call/session total incomplete.
Cloudflare platform factDocumented value
Included Workers AI allocation10,000 neurons/day
Daily reset00:00 UTC
Workers Paid usage above the included allocation$0.011 / 1,000 neurons
Capacity still cannot be derived for Scout's current model from token counts. A known daily allocation does not provide an exact requests-per-day estimate while the @cf/meta/llama-3.1-8b-instruct-fast token-to-neuron rate is unpublished.
02 / August 22, 2026 · Integration

Profile-summary evidence was narrowed and intent classification moved back to the original question.

Two consecutive develop fixes changed how profile-summary requests select evidence before generation.

a624cc2 · classify profile evidence intent from the original question.The RAG agent had classified evidence intent from a rewritten query. The fix now tries the original question first because rewriting could scramble phrases such as “tell me about” and cause the wrong evidence filter to run.
2d958e2 · tighten profile evidence and preserve the exact title.Profile evidence filtering stopped admitting generic experience and skills-* chunks, and the profile guardrail now instructs generation to keep the exact documented title/location instead of replacing the title with vague words such as “person” or “candidate.”
Release status: these changes are on develop in the captured source state. They should not be described as production behavior merely because they are the newest commits.
03 / August 21–22, 2026 · Integration

Post-release changes continued across RAG, contracts, recovery, validation and conversation handling.

The current branch comparison shows substantive integrated changes after the production line diverged. The largest source differences are not limited to prompt wording.

AreaDevelop-only difference in captured comparison
lib/rag-agent.js174 changed lines in the comparison, including evidence selection and guardrail behavior.
lib/response-contract.js185 changed lines, including semantic answer planning and claim-state handling.
lib/recovery-contract.js70 additions, expanding recovery behavior after generation/validation problems.
lib/grounding-validator.js39 changed lines in the captured comparison.
lib/conversation-resolver.js36 changed lines around contextual resolution.
data/recruiter-knowledge.jsonLarge knowledge-tree change in the comparison, 121 additions and 384 deletions.

At this August checkpoint these changes were integrated separately from production. The September 5 release later promoted the qualified integration tree.

04 / August 21, 2026 · Inference

Cloudflare Llama 3.1 8B Fast became the qualified runtime model configuration.

Commit d32b75e changed the configured Cloudflare model from Llama 3.2 3B Instruct to @cf/meta/llama-3.1-8b-instruct-fast across runtime documentation, model policy, runtime facts, UI usage display, cost configuration and provider-rate assumptions.

Model

Llama 3.1 8B Instruct Fast

The current production runtime facts identify this as the normal Cloudflare Workers AI generative target.

Metering

Initial rate mapping was later corrected

The Aug. 21 model change also updated usage-rate assumptions. A later exact-model audit showed that 4,119 / 34,868 belongs to -fp8-fast, not Scout's configured -fast identifier. The model remained @cf/meta/llama-3.1-8b-instruct-fast; the accounting metadata was corrected.

Fallback

Ollama remained non-default

The change retained Ollama as dev/test and optional fallback architecture rather than making it the normal production generation path.

05 / August 20, 2026 · Production release

A validated develop line was promoted to master.

PR #19 merged develop into master. Its release record states that staging smoke tests passed 9/9 and the development backend was healthy on commit d7530d0 before promotion.

Release propertyRecorded value
Pull request#19 · “Release: promote validated develop to master”
Head sourcedevelop at d7530d0910293a2e26cfc1c18c7046c34864d767
Merge commit0a235c60df0e518736bb77e20f20aa83a18aff62
PR size93 commits · 121 changed files
Pre-release evidence in PR bodyStaging smoke tests 9/9; dev backend healthy.
Release status: this entry is a production promotion, unlike later develop-only hardening entries.
06 / August 19, 2026 · Evaluation correction

The earlier acceptance score was reclassified after a stricter semantic scorer found false positives.

Commit e013a32 added an offline strict semantic scorer, strict evaluation cases, scorer unit tests, re-score tooling, stored strict outputs, and initial contract fixes. The commit records an offline re-score baseline of 131/178, 73.6%.

Why it changed

Old “GOOD” labels were not sufficient.

Examples in the preserved artifacts included future-capability answers starting with an unsupported “No,” role-fit contracts with missing direct-answer state, and open-world employment claims collapsed into definitive negatives.

What changed in code

Scorer + engine contract fixes.

The change added strict validators for open-world claims, unknown skills, future capability, role fit and project technology, then adjusted response-contract/completeness/recovery behavior exposed by those failures.

Historical-score rule: the old 114/115 and 40/40 results are retained as development history, not current accuracy claims. The strict re-score exists specifically because those older labels admitted false positives.
07 / August 12, 2026 · Repository recovery

An accidental stale-desktop merge to master was reverted.

PR #13 removed four net accidental additions introduced by the desktop merge and added a local source-of-truth document stating that GitHub is authoritative. The PR description explicitly records that the core Scout runtime files were not overwritten by the accidental push.

Removed accidental additionsRecovery result
.github/copilot-instructions.mdRemoved as part of the accidental tree cleanup.
CLAUDE.mdRemoved in this recovery PR; later reintroduced deliberately under new guardrail work.
Screenshot assetRemoved from the production tree.
server-gcp.jsRemoved from the accidental merge state.
08 / August 12, 2026 · Repository controls

GitHub-first guardrails were added to local clones and coding agents.

PR #14 turned the recovery lesson into repository controls rather than leaving it as a one-time cleanup.

Tracked pre-push hook.Direct pushes to local master and develop were blocked.
Fast-forward-only pull configuration.Local setup configures protected-branch tracking and refuses accidental merge commits caused by stale divergence.
Cross-tool instructions.Repository instructions for Claude/Copilot and local source-of-truth guidance require a GitHub preflight before work.
09 / August 12, 2026 · Workspace workflow

Multi-PC, IDE and agent handoff checks were added.

PR #15 added a GitHub-backed workspace flow for switching between machines and coding tools without treating a local checkout as authoritative.

workspace:start

Begin from remote truth

Fetches GitHub state and opens/creates a GitHub-backed feature branch rather than starting from a stale protected branch.

workspace:check

Detect unsafe workspace state

Checks stale/diverged/wrong-origin/protected-branch conditions before editing.

workspace:publish

Handoff committed feature work

Refuses dirty, diverged or protected-branch publication before a machine/IDE handoff.

The PR explicitly states that these changes did not alter Scout runtime behavior or production application code.

10 / July 17, 2026 · Staging

Staging was isolated from production sources and routing.

PR #4 changed the staging site so it could load its local widget artifact and point chat requests at the development backend rather than accidentally using production behavior. It also replaced the staging sync with a deterministic prepared-tree operation and a source marker.

Frontend isolation

Local staging widget + dev API

The dev host can use ./ProjectHub.js and set the development chat API endpoint instead of hardcoding the production widget/API pair.

Provenance

Prepared staging tree

The sync process writes a STAGING-SOURCE.json marker and staging-specific Pages/instruction files so the deployment target is traceable back to canonical develop.

11 / July 17, 2026 · CI

CI added artifact, knowledge, secret and retrieval gates.

PR #5 expanded the Test and Verify workflow with checks that can fail the branch rather than simply report information.

Gate addedRecorded behavior
Analytics bundle freshnessBuild and compare analytics/dist to committed output.
Knowledge JSON validationParse JSON and require core knowledge sections.
Committed-secret scanSearch source files for several API-key token patterns.
Staging routing checkReject a staging page that points only at the production widget route.
Retrieval quality gateFail if Recall@6 falls below 0.90.
12 / July 17, 2026 · Deployment

Deployment scripts gained branch guards, backups, health checks and rollback.

PR #6 hardened both production and development GCP deploy scripts.

Source guard.Production deploy requires master; development deploy requires develop; dirty working trees are blocked.
Versioned release + backup.The scripts record the source SHA, use release directories, and preserve the previous server/lib/config state.
Post-restart verification.Health and grounded-chat smoke checks run after restart; startup/health failure triggers automatic rollback.
13 / July 17, 2026 · Release coordination

Frontend publication was gated behind backend verification.

PR #7 removed the automatic production Pages trigger on master and changed the intended release order so the backend could be deployed and verified before the matching frontend was published.

Merge release PR to master.Source promotion happens first.
Deploy and health-check backend.The production backend is verified before the web client is published.
Publish Pages frontend.The workflow was made manual with a production environment gate in this PR.
Current-workflow note: later executable workflow behavior may differ from this July change. This entry records what PR #7 changed at that time; it is not used as a claim about today's Pages trigger.
14 / Evaluation history

Evaluation results are attached to the code/scorer that produced them.

The changelog does not collapse historical measurements into one “accuracy” number. The project has changed both the engine and the evaluator, so results need their scope.

MeasurementContextHow this changelog treats it
114/115 + 40/40 old acceptance resultsPre-strict scorer accepted false positives later identified in raw outputs.Historical only; not a release-quality claim.
131/178 · 73.6%Offline strict re-score baseline recorded by e013a32.Historical correction baseline, not current production quality.
Recall@6 1.000 on 40-query retrieval setRetrieval-specific evaluator/golden set, separate from conversational answer quality.Can be reported only as the scoped retrieval benchmark and rerun with the repository evaluator.
Different evaluator, different claim. A retrieval ranking metric, a strict semantic answer scorer, and a live conversation acceptance suite measure different failure modes and should not be combined into one percentage.
15 / Reading rules

How entries are classified.

Production release

Reached master

An entry is called production only when the cited source shows promotion/release into the production line or is itself the production branch state.

Integration

Present on develop

Integrated changes can be real, tested code without being production. They are labeled separately until promoted.

Historical

Preserved for provenance

Old architecture, workflows and scores stay useful for explaining how the system changed, but are not silently converted into current behavior.

Dates are based on the cited commit/PR records. Branch-head and ahead/behind values are snapshots captured when this page was rebuilt and can change after new repository activity.