From 0a1c991a838af40f417804bdd349678bbcfe4be4 Mon Sep 17 00:00:00 2001 From: Rajon Ahmed Date: Fri, 28 Aug 2026 12:09:21 +0800 Subject: [PATCH 1/7] upd: data/file updated branched from main From 495cbfb92d8fc3ae9588a40a77bbe07345c72283 Mon Sep 17 00:00:00 2001 From: Rajon Ahmed Date: Fri, 28 Aug 2026 12:12:33 +0800 Subject: [PATCH 2/7] upd: data/file updated cabinet updated --- data/cabinet/cabinet.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/data/cabinet/cabinet.go b/data/cabinet/cabinet.go index e69de29..8480905 100644 --- a/data/cabinet/cabinet.go +++ b/data/cabinet/cabinet.go @@ -0,0 +1,34 @@ +/* +|-------------------------------------------------------------------------- +| Description +|-------------------------------------------------------------------------- +| +| Name: +| - Cabinet +| +| Purpose: +| - Provides a centralized coordination point for framework-owned and +| software-owned data ledgers, determining the appropriate ledger for +| resource registration and access. +| +|-------------------------------------------------------------------------- +*/ + +/* +|-------------------------------------------------------------------------- +| Credit +|-------------------------------------------------------------------------- +| +| Contributor: +| - Rajon Ahmed +| - Blockonite +| +|-------------------------------------------------------------------------- +*/ + +package cabinet + +import ( + _ "go/module/data/framework/ledger" + _ "go/module/data/software/ledger" +) \ No newline at end of file From b3ea6f63b6fe2a87102902229698e7c2469f809d Mon Sep 17 00:00:00 2001 From: Rajon Ahmed Date: Fri, 28 Aug 2026 12:21:19 +0800 Subject: [PATCH 3/7] upd: data/file updated framework ledger updated --- data/framework/ledger/ledger.go | 53 +++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/data/framework/ledger/ledger.go b/data/framework/ledger/ledger.go index e69de29..32f70e0 100644 --- a/data/framework/ledger/ledger.go +++ b/data/framework/ledger/ledger.go @@ -0,0 +1,53 @@ +/* +|-------------------------------------------------------------------------- +| Description +|-------------------------------------------------------------------------- +| +| Name: +| - Ledger +| +| Purpose: +| - Registers framework-owned resources and resolves each resource to +| its responsible handler. +| +|-------------------------------------------------------------------------- +*/ + +/* +|-------------------------------------------------------------------------- +| Credit +|-------------------------------------------------------------------------- +| +| Contributor: +| - Rajon Ahmed +| - Blockonite +| +|-------------------------------------------------------------------------- +*/ + +package ledger + +import ( + "go/module/data/framework/metadata" + // Additional framework resources. + // e.g.: "go/module/data/framework/glossary" +) + +// Initialize the framework resource ledger. +func init() { + obrimLedger() +} + +// Register all framework resource handlers. +func obrimLedger() { + obrimLedgerRegister() +} + +// Register all framework handlers with Retriever. +func obrimLedgerRegister() { + // Framework metadata resource. + metadata.ObrimHandlerJson() + + // Additional framework resources. + // e.g.: glossary.ObrimHandlerJson() +} \ No newline at end of file From 63dc7f2e796f7d94e069c3ebd3ac3147f2523396 Mon Sep 17 00:00:00 2001 From: Rajon Ahmed Date: Fri, 28 Aug 2026 12:21:59 +0800 Subject: [PATCH 4/7] upd: data/file updated framework metadata updated --- data/framework/metadata/handler.go | 192 ++++++++++++++++++++++++++ data/framework/metadata/resource.json | 8 ++ 2 files changed, 200 insertions(+) diff --git a/data/framework/metadata/handler.go b/data/framework/metadata/handler.go index e69de29..d0e5b6a 100644 --- a/data/framework/metadata/handler.go +++ b/data/framework/metadata/handler.go @@ -0,0 +1,192 @@ +/* +|-------------------------------------------------------------------------- +| Description +|-------------------------------------------------------------------------- +| +| Name: +| - Handler +| +| Purpose: +| - Provides access to embedded framework metadata resources through +| resource-specific retrieval and parsing logic. +| +|-------------------------------------------------------------------------- +*/ + +/* +|-------------------------------------------------------------------------- +| Credit +|-------------------------------------------------------------------------- +| +| Contributor: +| - Rajon Ahmed +| - Blockonite +| +|-------------------------------------------------------------------------- +*/ + +package metadata + +import ( + "embed" + "encoding/json" + "sync" + + "go/module/essential/visible/service/helper/retriever" +) + +// ObrimHandlerResource is the registered JSON resource identifier. +const ObrimHandlerResource = "framework/metadata" + +// Success result codes. +const ( + ObrimHandlerCodeSuccessLoaded = "SUCCESS_RESOURCE_LOADED" +) + +// Failure result codes. +const ( + ObrimHandlerCodeFailureNotFound = "FAILURE_RESOURCE_NOT_FOUND" + ObrimHandlerCodeFailureLoad = "FAILURE_RESOURCE_LOAD" + ObrimHandlerCodeFailureParse = "FAILURE_RESOURCE_PARSE" +) + +// handlerResourceFile is the embedded JSON resource filename. +const handlerResourceFile = "resource.json" + +// handlerEmbeddedResource stores the embedded JSON resource. +// +//go:embed resource.json +var handlerEmbeddedResource embed.FS + +// obrimHandlerCacheMutex protects the resource cache. +var obrimHandlerCacheMutex sync.RWMutex + +// obrimHandlerCachedResource stores the parsed resource for the application lifetime. +var obrimHandlerCachedResource map[string]any + +// ObrimHandlerPayload defines the successful payload structure. +type ObrimHandlerPayload struct { + Resource string `json:"resource"` + Data map[string]any `json:"data"` +} + +// ObrimHandlerOutput defines the standardized utility output. +type ObrimHandlerOutput struct { + Status bool `json:"status"` + Code string `json:"code"` + Payload *ObrimHandlerPayload `json:"payload"` +} + +// ObrimHandlerJson registers the JSON handler callback with Retriever. +func ObrimHandlerJson() { + retriever.ObrimRetrieverJsonRegister( + ObrimHandlerResource, + obrimHandlerFetch, + ) +} + +// obrimHandler is the internal handler entry function. +func obrimHandler() ObrimHandlerOutput { + return obrimHandlerFetch() +} + +// obrimHandlerFetch loads, parses, caches, and returns the complete JSON resource. +func obrimHandlerFetch() ObrimHandlerOutput { + if cached, ok := obrimHandlerCache(); ok { + return obrimHandlerOutput( + true, + ObrimHandlerCodeSuccessLoaded, + cached, + ) + } + + data, err := obrimHandlerLoad() + if err != nil { + return obrimHandlerOutput( + false, + ObrimHandlerCodeFailureLoad, + nil, + ) + } + + resource, err := obrimHandlerParse(data) + if err != nil { + return obrimHandlerOutput( + false, + ObrimHandlerCodeFailureParse, + nil, + ) + } + + obrimHandlerCache(resource) + + return obrimHandlerOutput( + true, + ObrimHandlerCodeSuccessLoaded, + resource, + ) +} + +// obrimHandlerCache retrieves or stores the parsed JSON resource cache. +func obrimHandlerCache(resource ...map[string]any) (map[string]any, bool) { + obrimHandlerCacheMutex.Lock() + defer obrimHandlerCacheMutex.Unlock() + + switch len(resource) { + case 0: + if obrimHandlerCachedResource == nil { + return nil, false + } + return obrimHandlerCachedResource, true + + default: + obrimHandlerCachedResource = resource[0] + return obrimHandlerCachedResource, true + } +} + +// obrimHandlerEmbed returns the embedded JSON resource filesystem. +func obrimHandlerEmbed() embed.FS { + return handlerEmbeddedResource +} + +// obrimHandlerLoad loads the embedded JSON resource. +func obrimHandlerLoad() ([]byte, error) { + return obrimHandlerEmbed().ReadFile(handlerResourceFile) +} + +// obrimHandlerParse parses the embedded JSON resource. +func obrimHandlerParse(data []byte) (map[string]any, error) { + resource := make(map[string]any) + + if err := json.Unmarshal(data, &resource); err != nil { + return nil, err + } + + return resource, nil +} + +// obrimHandlerOutput builds the standardized utility output. +func obrimHandlerOutput( + status bool, + code string, + resource map[string]any, +) ObrimHandlerOutput { + + if !status || resource == nil { + return ObrimHandlerOutput{ + Status: false, + Code: code, + Payload: nil, + } + } + + return ObrimHandlerOutput{ + Status: true, + Code: code, + Payload: &ObrimHandlerPayload{ + Resource: ObrimHandlerResource, + Data: resource, + }, + } +} \ No newline at end of file diff --git a/data/framework/metadata/resource.json b/data/framework/metadata/resource.json index e69de29..0669fec 100644 --- a/data/framework/metadata/resource.json +++ b/data/framework/metadata/resource.json @@ -0,0 +1,8 @@ +{ + "framework": { + "regular": "Framework Regular", + "lower": "frameworklower", + "upper": "FRAMEWORKUPPER", + "version": "0.0.0" + } +} \ No newline at end of file From 4393c313820a65877556d77542e2251c4ffe8c81 Mon Sep 17 00:00:00 2001 From: Rajon Ahmed Date: Fri, 28 Aug 2026 12:23:01 +0800 Subject: [PATCH 5/7] upd: data/file updated software ledger updated --- data/software/ledger/ledger.go | 53 ++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/data/software/ledger/ledger.go b/data/software/ledger/ledger.go index e69de29..6fb60f5 100644 --- a/data/software/ledger/ledger.go +++ b/data/software/ledger/ledger.go @@ -0,0 +1,53 @@ +/* +|-------------------------------------------------------------------------- +| Description +|-------------------------------------------------------------------------- +| +| Name: +| - Ledger +| +| Purpose: +| - Registers software-owned resources and resolves each resource to +| its responsible handler. +| +|-------------------------------------------------------------------------- +*/ + +/* +|-------------------------------------------------------------------------- +| Credit +|-------------------------------------------------------------------------- +| +| Contributor: +| - Rajon Ahmed +| - Blockonite +| +|-------------------------------------------------------------------------- +*/ + +package ledger + +import ( + "go/module/data/software/metadata" + // Additional software resources. + // e.g.: "go/module/data/software/glossary" +) + +// Initialize the software resource ledger. +func init() { + obrimLedger() +} + +// Register all software resource handlers. +func obrimLedger() { + obrimLedgerRegister() +} + +// Register all software handlers with Retriever. +func obrimLedgerRegister() { + // software metadata resource. + metadata.ObrimHandlerJson() + + // Additional software resources. + // e.g.: glossary.ObrimHandlerJson() +} \ No newline at end of file From 2f8e247a1772043a91db4ed7c891fc3e9bfee7ac Mon Sep 17 00:00:00 2001 From: Rajon Ahmed Date: Fri, 28 Aug 2026 12:23:52 +0800 Subject: [PATCH 6/7] upd: data/file updated software metadata updated --- data/software/metadata/handler.go | 192 +++++++++++++++++++++++++++ data/software/metadata/resource.json | 8 ++ 2 files changed, 200 insertions(+) diff --git a/data/software/metadata/handler.go b/data/software/metadata/handler.go index e69de29..b3f9bf4 100644 --- a/data/software/metadata/handler.go +++ b/data/software/metadata/handler.go @@ -0,0 +1,192 @@ +/* +|-------------------------------------------------------------------------- +| Description +|-------------------------------------------------------------------------- +| +| Name: +| - Handler +| +| Purpose: +| - Provides access to embedded software metadata resources through +| resource-specific retrieval and parsing logic. +| +|-------------------------------------------------------------------------- +*/ + +/* +|-------------------------------------------------------------------------- +| Credit +|-------------------------------------------------------------------------- +| +| Contributor: +| - Rajon Ahmed +| - Blockonite +| +|-------------------------------------------------------------------------- +*/ + +package metadata + +import ( + "embed" + "encoding/json" + "sync" + + "go/module/essential/visible/service/helper/retriever" +) + +// ObrimHandlerResource is the registered JSON resource identifier. +const ObrimHandlerResource = "framework/metadata" + +// Success result codes. +const ( + ObrimHandlerCodeSuccessLoaded = "SUCCESS_RESOURCE_LOADED" +) + +// Failure result codes. +const ( + ObrimHandlerCodeFailureNotFound = "FAILURE_RESOURCE_NOT_FOUND" + ObrimHandlerCodeFailureLoad = "FAILURE_RESOURCE_LOAD" + ObrimHandlerCodeFailureParse = "FAILURE_RESOURCE_PARSE" +) + +// handlerResourceFile is the embedded JSON resource filename. +const handlerResourceFile = "resource.json" + +// handlerEmbeddedResource stores the embedded JSON resource. +// +//go:embed resource.json +var handlerEmbeddedResource embed.FS + +// obrimHandlerCacheMutex protects the resource cache. +var obrimHandlerCacheMutex sync.RWMutex + +// obrimHandlerCachedResource stores the parsed resource for the application lifetime. +var obrimHandlerCachedResource map[string]any + +// ObrimHandlerPayload defines the successful payload structure. +type ObrimHandlerPayload struct { + Resource string `json:"resource"` + Data map[string]any `json:"data"` +} + +// ObrimHandlerOutput defines the standardized utility output. +type ObrimHandlerOutput struct { + Status bool `json:"status"` + Code string `json:"code"` + Payload *ObrimHandlerPayload `json:"payload"` +} + +// ObrimHandlerJson registers the JSON handler callback with Retriever. +func ObrimHandlerJson() { + retriever.ObrimRetrieverJsonRegister( + ObrimHandlerResource, + obrimHandlerFetch, + ) +} + +// obrimHandler is the internal handler entry function. +func obrimHandler() ObrimHandlerOutput { + return obrimHandlerFetch() +} + +// obrimHandlerFetch loads, parses, caches, and returns the complete JSON resource. +func obrimHandlerFetch() ObrimHandlerOutput { + if cached, ok := obrimHandlerCache(); ok { + return obrimHandlerOutput( + true, + ObrimHandlerCodeSuccessLoaded, + cached, + ) + } + + data, err := obrimHandlerLoad() + if err != nil { + return obrimHandlerOutput( + false, + ObrimHandlerCodeFailureLoad, + nil, + ) + } + + resource, err := obrimHandlerParse(data) + if err != nil { + return obrimHandlerOutput( + false, + ObrimHandlerCodeFailureParse, + nil, + ) + } + + obrimHandlerCache(resource) + + return obrimHandlerOutput( + true, + ObrimHandlerCodeSuccessLoaded, + resource, + ) +} + +// obrimHandlerCache retrieves or stores the parsed JSON resource cache. +func obrimHandlerCache(resource ...map[string]any) (map[string]any, bool) { + obrimHandlerCacheMutex.Lock() + defer obrimHandlerCacheMutex.Unlock() + + switch len(resource) { + case 0: + if obrimHandlerCachedResource == nil { + return nil, false + } + return obrimHandlerCachedResource, true + + default: + obrimHandlerCachedResource = resource[0] + return obrimHandlerCachedResource, true + } +} + +// obrimHandlerEmbed returns the embedded JSON resource filesystem. +func obrimHandlerEmbed() embed.FS { + return handlerEmbeddedResource +} + +// obrimHandlerLoad loads the embedded JSON resource. +func obrimHandlerLoad() ([]byte, error) { + return obrimHandlerEmbed().ReadFile(handlerResourceFile) +} + +// obrimHandlerParse parses the embedded JSON resource. +func obrimHandlerParse(data []byte) (map[string]any, error) { + resource := make(map[string]any) + + if err := json.Unmarshal(data, &resource); err != nil { + return nil, err + } + + return resource, nil +} + +// obrimHandlerOutput builds the standardized utility output. +func obrimHandlerOutput( + status bool, + code string, + resource map[string]any, +) ObrimHandlerOutput { + + if !status || resource == nil { + return ObrimHandlerOutput{ + Status: false, + Code: code, + Payload: nil, + } + } + + return ObrimHandlerOutput{ + Status: true, + Code: code, + Payload: &ObrimHandlerPayload{ + Resource: ObrimHandlerResource, + Data: resource, + }, + } +} \ No newline at end of file diff --git a/data/software/metadata/resource.json b/data/software/metadata/resource.json index e69de29..056dfb2 100644 --- a/data/software/metadata/resource.json +++ b/data/software/metadata/resource.json @@ -0,0 +1,8 @@ +{ + "software": { + "regular": "Software Regular", + "lower": "softwarelower", + "upper": "SOFTWAREUPPER", + "version": "0.0.0" + } +} \ No newline at end of file From 60d06ff9725a5665be6f4f1348a6bb7684028501 Mon Sep 17 00:00:00 2001 From: Rajon Ahmed Date: Fri, 28 Aug 2026 12:25:26 +0800 Subject: [PATCH 7/7] upd: data/file updated data files updated