§9 says no agent ships without evals. Eight of the nine had none: the two
other suites in evals/ are harness fixtures rather than agents in the
registry, so the rule was being met by one agent in nine.
Evals — 40 new cases, five per agent, every one carrying mustNotLeak:
- the agent is loaded from its real spec in agents/*.md rather than
written out again in Go. A hand-copied agent tests the copy: it keeps
passing after somebody edits the spec, which is the moment it most
needed to fail.
- callNamed calls the tool a case names. toolThenAnswer always called
tools[0], so seven of positions-agent's eight tools were unreachable,
and a boundary nothing calls is a boundary nothing tests.
- seedWorkspace fills BOTH tenants. A leak test against an empty second
tenant cannot fail.
Verified by breaking workersByScore's org predicate: six cases across four
agents fail with LEAKED "RIVAL".
Knowledge — six policy documents, taking the corpus from 2 to 8 (34
chunks). Three restricted to admin and employer, five tenant-wide. They
cover what the tools cannot: a tool reports how many shifts went unworked,
a policy says what cover costs inside 24 hours.
corpus_test.go treats those documents as product rather than fixtures. The
first version was tautological — it read audience: from a file and checked
that file's audience was enforced, so opening a restricted document passed.
mustNotBeTenantWide now holds that judgement apart from the files, with the
reason recorded for each.
CI — the checks this repository already had, made unskippable. testutil
calls t.Skipf on an unreachable database, so a dead service container would
produce a green build over a suite that ran almost nothing. Simulated: go
test exits 0 with 74 tests skipped, including every tenant-isolation test.
The guard exits 1 and names them, while still allowing TestLive* to skip
without a model key.
This CI tests; it does not deploy. The README's claim that migrations are
run by CI against the target database remains aspirational.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0186JgqQUCDS8ZwGmyw3ymWu
48 lines
1.8 KiB
Markdown
48 lines
1.8 KiB
Markdown
---
|
|
source: policy_docs
|
|
audience: tenant
|
|
title: Conduct and Venue Standards
|
|
---
|
|
|
|
# Arriving for a shift
|
|
|
|
Arrive fifteen minutes before the scheduled start, changed and ready to be
|
|
briefed. The scheduled start is when work begins, not when you walk in.
|
|
|
|
Sign in through the app on site. Signing in from elsewhere, or asking somebody
|
|
to sign in for you, is treated as a falsified record rather than a shortcut.
|
|
|
|
# Uniform
|
|
|
|
Black trousers or skirt, plain black shoes with a closed toe, and the venue's
|
|
own top unless told otherwise. Where a venue supplies a top it is returned
|
|
laundered at the end of the assignment.
|
|
|
|
Jewellery is limited to a plain band and small studs in kitchen and bar roles.
|
|
Long hair is tied back for any role handling food or working near equipment.
|
|
|
|
# Alcohol and drugs
|
|
|
|
No alcohol is consumed on shift, including at the end of an event while the bar
|
|
is still open to guests. A worker who appears impaired is stood down for the
|
|
shift and paid for the hours already worked; the conversation happens the next
|
|
working day, not on the floor.
|
|
|
|
Staff may refuse service to a guest they judge to be intoxicated, and that
|
|
judgement is supported by the venue. A worker overruled by a client on this
|
|
point should record it and tell the venue manager.
|
|
|
|
# Phones
|
|
|
|
Phones stay out of sight in service areas. Checking a rota or responding to an
|
|
operational message is fine on a break or with a supervisor's nod.
|
|
|
|
# Speaking about the venue and its guests
|
|
|
|
Nothing about a guest, a client or an event goes outside the shift. This
|
|
includes naming a venue alongside a guest on social media, which is the form
|
|
this usually takes and the one people do not think of as a disclosure.
|
|
|
|
Photographs at private events need the client's permission, which the venue
|
|
manager holds or does not — ask rather than assume.
|