Context Object Specification (COS)
Version: 0.2
Chapter: 250 — Recommendation
Status: Informative — Optional
Category: Core Model
1. Purpose
This chapter defines optional recommendation guidance for systems built around COS.
Recommendation describes potential downstream actions that may be derived from a Context Object.
Recommendation is not part of the COS v0.2 lean core object.
Producers SHOULD NOT emit recommendations in the core Context Object.
Products MAY derive recommendations after receiving the Context Object.
It does NOT execute actions.
It does NOT represent user intent.
It only expresses structured suggestions for consumers.
2. Conceptual Role
If:
- Hierarchy = structure
- Semantic = meaning
Then:
Recommendation = action possibility space
It answers:
“Given this context, what could be done?”
3. Definition
A Recommendation is a structured, non-executed suggestion derived from the Context Object that describes possible consumer actions.
Recommendations are advisory only.
They do not represent decisions.
They do not represent execution plans.
4. Core Principle
Recommendation layer is:
Suggestion without execution
This principle enforces strict separation between:
- context generation
- decision making
- action execution
5. Non-Execution Constraint
A Recommendation MUST NOT:
- execute any action
- trigger workflows
- invoke external systems
- modify state
It is strictly declarative.
6. Recommendation Model (Conceptual)
interface RecommendationContext {
actions: RecommendationAction[];
}
7. Recommendation Action
A Recommendation Action describes a possible operation a Consumer MAY perform.
interface RecommendationAction {
type: RecommendationType;
label?: string;
confidence?: number;
payload?: Record<string, any>;
}
8. Recommendation Type
RecommendationType defines high-level action categories.
type RecommendationType =
| "explain"
| "summarize"
| "translate"
| "analyze"
| "expand"
| "refactor"
| "search"
| "generate"
| "navigate"
| "bookmark"
| "annotate"
| "cite"
| "extract"
| "compare";
These are intentionally generic and non-executable.
Recommendation types include AI-oriented actions and non-AI actions so that search systems, annotation tools, knowledge systems, and workflow consumers can use the same layer without depending on model-specific behavior.
9. Confidence Rule
Confidence expresses how strongly a recommendation aligns with the semantic interpretation of the Context Object.
- MUST be in range [0, 1]
- OPTIONAL in v0.2
- MUST NOT influence execution
10. Relationship to Context Object
Recommendation MUST NOT be required to understand a Context Object.
If recommendations are transported, they SHOULD appear in an Extension or product-specific layer:
Context Object → Consumer/Product → Recommendation
This keeps COS factual and avoids embedding product decisions into the core object.
11. Consumer Responsibility
Recommendations are designed for Consumers only.
Consumers MAY:
- ignore recommendations
- rank recommendations
- transform recommendations into UI suggestions
- map recommendations to actions
Consumers MUST NOT:
- assume recommendations are authoritative
- execute them without external validation
12. Separation of Concerns
Recommendation layer MUST NOT include:
- reasoning chains
- prompt templates
- execution logic
- tool invocation logic
It remains strictly declarative.
13. Deterministic Constraint
If input Context Object is identical, Recommendation output SHOULD be deterministic.
Non-deterministic systems MUST provide confidence scoring.
14. Example (Informative)
{
"actions": [
{
"type": "explain",
"label": "Explain this code",
"confidence": 0.92
},
{
"type": "refactor",
"label": "Suggest refactoring",
"confidence": 0.74
}
]
}
15. Design Notes
Recommendation is intentionally outside the lean COS core.
It is constrained to avoid:
- becoming an agent framework
- embedding workflow orchestration logic
- coupling with AI toolchains
Its purpose is to guide product-level action suggestions, not the Context Object itself.
16. Summary
Recommendation defines what could be done without defining what will be done.
In COS v0.2, recommendations SHOULD be derived by Consumers or product layers after receiving a Context Object.