feat: add productivity category schema and examples#11
Conversation
|
@devprashant19 Thanks, this is a strong first PR. The scope is good: docs, examples, normalized output, Wiki templates, permissions, and tests without a broad engine refactor. Two small changes before merge:
Other than that, this matches the issue well. The overbroad-data test is especially important. @MohitBareja16 @adikulkarni006 Can you please review the PR once? |
|
Thanks for tagging me. I'll review the PR and share my feedback soon. 👍 |
|
Small support note: if you like what Memact is trying to build, please consider following the Memact GitHub org and starring the repo. It helps the project get a little more visibility while SSoC26 contributions come in. |
|
Reviewed the latest changes. The requested feedback appears to be addressed and the implementation looks good to me. LGTM 👍 |
|
@devprashant19 thanks for the focused PR. Please make these adjustments before we merge so this lines up with the newer Schema direction:
The philosophy to preserve is: Activity is not Identity. Productivity activity can suggest context, but it should not silently become identity or accepted memory without the Wiki/user-control step. |
|
@keepsloading please review the changes you told me to make |
Resolves #7
Description
This PR introduces the
productivitycategory schema for apps that understand work and task preferences, fulfilling the requirements for the SSoC26 issue.Following the maintainer's note, this PR is kept intentionally focused. It adds the necessary documentation, input/output examples, and safe context-shaping tests without doing a broad refactor of
engine.mjs.Changes Made
docs/productivity.mddefining context fields, normalized examples, Wiki entry templates, and permission suggestions (productivity.read_preferences,productivity.write_summary).examples/productivity-raw.jsondemonstrating valid app context alongside an overbroad-data case.src/engine.mjsto extract productivity attributes (likeorganization_styleandfocus_preference) and shape them intoschema_packetattributes.test/schema-packets.test.mjsverifying that:raw_task_nameandprivate_note) is completely filtered out of the resulting schema packet attributes.Acceptance Criteria Checklist
All tests pass (
npm run check).