10 KiB
Release 1.0.19 Plan
Purpose
This release starts the shift from 1.0.18 hardening to visible feature growth.
The goal is to keep compatibility work steady while shipping personality and capability slices that make OpenJibo feel less like a placeholder cloud and more like a real assistant platform.
Snapshot
- Kickoff date:
2026-05-05 - Cloud version source of truth: OpenJiboCloudBuildInfo.cs
- Active release constant:
1.0.19
Scope
1. Persona And Identity Surface
- add natural voice responses for robot identity/personality prompts
- start building reusable content hooks for question-vs-command style responses
- keep first implementation rule-based and test-backed
2. Reliability And Device Proof
- complete update/backup/restore proof path with captures and operator docs
- continue alarm/gallery/yes-no cleanup from
1.0.18evidence where regressions are still open - improve short-turn STT reliability and low-signal screening
3. Pegasus-To-Cloud Platform Porting
- prioritize small source-backed slices from Pegasus/JiboOS that can be shipped safely
- keep Nimbus and stock payload compatibility as the release guardrail
- avoid broad subsystem rewrites without tests and live-capture evidence
4. Holidays And Seasonal Personality
- port holiday-aware personality responses as a visible extension of the new persona slice
- start with a small, source-backed set (for example birthdays/holidays already represented in legacy data paths)
- ensure holiday responses feel characterful while still routing through stock-compatible payloads
5. Multi-Tenant Memory Storage Foundation
- define tenant boundaries across account, loop, device, and person-memory records
- add storage abstractions that can move from in-memory/local JSON to hosted SQL/Blob without reworking behavior layers
- implement memory-ready schemas and repository contracts for user facts (names, birthdays, personal dates, preferences) with strict tenant scoping
First Implemented Slice In 1.0.19
The first delivered slice in this release is persona expansion:
how old are youwhen's your birthdaydo you have a personalitymake a pizza
make a pizza is now wired to the legacy scripted-response identity (RA_JBO_MakePizza) with pizza-making animation ESML, based on the original skill manifests.
This slice is intentionally small and user-visible. It creates immediate personality gains while we keep deeper platform work in parallel.
Second Implemented Slice In 1.0.19
The second delivered slice is first tenant-scoped personal memory:
- store birthday from phrases like
my birthday is April 12 - recall birthday from phrases like
when is my birthday - store preferences from phrases like
my favorite music is jazz - recall preferences from phrases like
what is my favorite music
Memory keys are scoped by account/loop/device tenant context so one tenant does not leak into another.
Third Implemented Slice In 1.0.19
The third delivered slice starts memory-triggered proactivity and broadens memory parsing:
surprise menow runs a weighted proactivity selector- selectors use tenant-scoped memory signals (favorites and likes/dislikes) plus date triggers
- February 9 (
National Pizza Day) can proactively launch the pizza animation path - proactive pizza fact offer flow now stores pending offer state and resolves direct
yes/nofollow-up answers - memory parsing now covers:
- names (
my name is ...,what is my name) - important dates (
our anniversary is ...,when is our anniversary) - likes/dislikes (
i like ...,i love ...,i dislike ...,i don't like ...) - favorite phrase variants including reverse form (
pizza is my favorite food)
- names (
Fourth Implemented Slice In 1.0.19
The fourth delivered slice starts weather compatibility using Pegasus-style report-skill routing:
- weather phrases now route to
report-skillinstead of generic placeholder chat - outbound NLU launch uses legacy reactive intent
requestWeatherPR(source-aligned with Pegasus manifests/tests) - weather entity hints are added for:
date = tomorrowon tomorrow phrasingWeather = rain|snow|...on condition questions (for examplewill it rain tomorrow)
- websocket output now emits local skill redirect + silent completion for weather launch, matching existing local-skill launch patterns
Fifth Implemented Slice In 1.0.19
The fifth delivered slice adds provider-backed weather content while preserving Pegasus launch compatibility:
- OpenWeather provider abstraction and infrastructure wiring are added to the hosted cloud
- weather requests still launch
report-skillwithrequestWeatherPRand legacy weather/date entities - weather replies now include cloud-generated spoken summaries from provider data:
- current conditions (
Right now in ...) - tomorrow forecast shape (
Tomorrow in ...) with high/low temperatures when available
- current conditions (
- simple location extraction is supported for phrasing like
what's the weather in Chicago tomorrow - provider config supports appsettings and
OPENWEATHER_API_KEYenvironment fallback for deployment
System Diagram Alignment Snapshot (2026-05-06)
Legacy architecture (system_diagram.png) has been mapped to current OpenJibo cloud services so release execution stays anchored to:
- where we were (Pegasus/Jibo cloud design intent)
- where we are (current hosted
.NETmodular monolith) - where we are headed (durable memory, proactivity catalogs, parser depth, provider aggregation)
Reference:
Greetings And Presence Planning Snapshot (2026-05-07)
Pegasus greeting and presence behavior has now been captured into a source-anchored OpenJibo implementation plan.
Reference:
Live Validation Snapshot (2026-05-07)
User-confirmed end-to-end behavior now includes:
Hey Jibo -> What's your cloud version?(working)Hey Jibo -> What's the time?(working)Hey Jibo -> Surprise me -> pizza fact -> $YESNO (Yes) -> fact(working)Hey Jibo -> Surprise me -> pizza fact -> $YESNO (No) -> decline reply(working)
This confirms the pizza-fact offer state now keeps the yes/no branch open through completion and does not require a second wake-word reset for the follow-up answer.
Personal Report Planning Snapshot (2026-05-07)
Personal report parity planning is now captured with Pegasus source anchors for weather visuals/animations, live news, commute, and calendar gap coverage.
Reference:
Next Queued Task (2026-05-06)
Queued next 1.0.19 implementation task (now started):
- dialog parsing expansion and ambiguity guardrails
Execution focus:
- import additional Pegasus parser phrases/entities into intent handling where safe
- reduce trigger-only captures that drop the rest of the utterance
- preserve command-vs-question personality split and local skill payload compatibility
- add focused tests for new phrase families and ambiguity boundaries
- keep listener-state observability aligned with the legacy GLSM flow while phrase guardrails are added
First completed guardrail slice under this queue:
- GLSM listener flow capture + telemetry mapping
- stale pending-listen recovery path for long-open no-context/no-audio listens
Second completed guardrail slice under this queue:
- tightened date/time ambiguity handling (
what's your birthday/what's your bdayno longer falls into date intent) - expanded Pegasus-inspired memory/weather phrase coverage:
- birthday alias parsing (
my bday is ...,when is my bday) - shorthand preference sets (
my favorite sport football) - weather variants (
what's today's weather look like,will it be sunny tomorrow)
- birthday alias parsing (
- listener continuation guardrail now differentiates incomplete preference fragments from complete shorthand preference sets
Third completed guardrail slice under this queue:
- expanded Pegasus
userLikesThing/userDislikesThing/doesUserLikeThing/doesUserDislikeThingphrase-family coverage- includes additional dislike/negation variants (
loathe,did not like,didn't enjoy,don't really like) - includes group-preference variants (
we like,we love,we dislike,we can't stand) - includes lookup variants (
do you think i like ...,do you believe i don't like ...)
- includes additional dislike/negation variants (
- added affinity set/lookup attempt guardrails so partial captures route to affinity prompts instead of generic chat
- extended auto-finalize continuation deferral for the new Pegasus affinity stems (
we like,i loathe, and related variants) - added focused interaction + websocket tests for the new parser/guardrail behavior
Next queued implementation track after parser guardrails:
- presence-aware greetings and identity-triggered proactivity (Pegasus
@be/greetingsparity slice)
Next Slices
- Dialog parsing expansion (queued next as of
2026-05-06; more phrase variants, ambiguity handling, and transcript-to-intent guardrails) - Presence-aware greetings and identity-triggered proactivity (reactive/proactive split, cooldowns, person-aware greeting hooks)
- Personal report parity slices (weather visual layer, live news path, commute path, calendar parity matrix)
- Holidays and seasonal personality slice beyond pizza day (time-scoped content backed by memory/proactivity path)
- Durable memory persistence path (swap in provider-backed multi-tenant storage while preserving behavior contracts)
- Update/backup/restore end-to-end proof (operator-run and documented)
- STT noise-screening and short-utterance reliability pass
- Provider-backed news expansion and deeper weather parity using Pegasus-backed contracts
- Capture indexing and retention boundary for group testing
For slices 1-5, use Pegasus phrase lists, MIM IDs, and behavior patterns as the source anchor before broadening into OpenJibo-native improvements.
Definition Of Done
Release 1.0.19 is complete when:
- planned slices have focused tests and updated docs
- regression checklist passes for the existing stock-OS compatibility paths
- live runs confirm no critical regressions in alarms, gallery, yes/no, and cloud-version diagnostics
- memory/personality storage proves tenant isolation by account/loop/device boundaries and is compatible with the target hosted cloud footprint