Skip to main content
rules.yaml defines what you accept and what gets rejected — automatically. Any AI agent that evaluates an opportunity against your card must check this file before proceeding. Rules are not suggestions; compliant agents treat them as hard constraints.

Schema

schema_version
string
required
Protocol version this rules file conforms to. Current value: "0.1.0".
engagement
object
required
Controls which types of work you accept and your minimum compensation thresholds.
remote
object
required
Your location and remote-work preferences.
filters
object
required
Automatic filtering rules for incoming opportunities.
privacy
object
required
Data disclosure rules organized by zone.

Example

Based on the sample card in the repository:
schema_version: "0.1.0"

engagement:
  allowed_types:
    - permanent
    - contract
    - advisory
  compensation:
    minimum_base_eur:
      permanent: 80000
      contract: 600
      advisory: 150

remote:
  policy: "remote_only"
  hybrid_locations:
    - "California"
    - "New York"

filters:
  blocked_industries:
    - "gambling"
    - "weapons"
    - "tobacco"
  stack_keywords:
    preferred:
      - "Python"
      - "TypeScript"
      - "Kubernetes"
      - "AWS"
      - "FastAPI"
  soft_reject:
    weak_stack_overlap_below: 3

privacy:
  zone_1_public:
    - title
    - seniority
    - primary_domains
    - availability
  zone_2_paid:
    - full_profile
    - evidence
    - experience_details
  zone_3_private:
    - email
    - phone
    - exact_salary

How agents use rules

When an agent evaluates an opportunity against your card, it runs the following checks in order:
  1. Engagement type check — if the opportunity’s type is not in engagement.allowed_types, the agent returns REJECT.
  2. Remote policy check — if the role requires on-site work and your policy is remote_only, the agent returns REJECT.
  3. Compensation check — if the offered compensation is below engagement.compensation.minimum_base_eur, the agent returns REJECT.
  4. Industry filter — if the company’s industry appears in filters.blocked_industries, the agent returns REJECT.
  5. Stack keyword check — if matched keywords fall below filters.soft_reject.weak_stack_overlap_below, the agent returns SOFT_REJECT for manual review.
If all checks pass, the agent returns ACCEPT and may proceed to the interview handoff step.
Agents that bypass your rules.yaml constraints and initiate contact without a valid ACCEPT verdict are violating the Scoutica Protocol. If you encounter this, report it to the agent’s operator. Compliant agents never skip the rules check.
Use scoutica validate ./my-card/ to confirm your rules.yaml is well-formed and passes schema validation before publishing.